温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

面向对象有哪些特性

发布时间:2020-08-09 19:22:07 来源:ITPUB博客 阅读:169 作者:ii_chengzi 栏目:编程语言

Java是一门面向对象的语言,面向对象的主要特点有封装,继承,多态

封装,意思就是把类的一些属性进行封装(“隐藏”),尽可能的避免直接访问对象一些属性,以保证其安全性,如果必须要访问这些属性,我们可以单独的提供一些接口(共有方法)进行访问,这样我们就可以避免因为直接访问属性信息造成的误操作。

继承,在我们的生活中也有很多的继承关系,比如子承父业,在Java中,我们也可以有继承的概念,但是继承只存在于父子类(接口)中,比如我们经常说的Dog类继承于Animal类,动物类Animal具有自己的一些属性,Dog属于Animal的一种,所以具有Animal的一些属性,但是Dog也有自己的一些特定属性,这时候如果我们单独在重新创建一个类Dog,就需要重新写一遍Animal类的属性,既费时又不好维护,这时候我们就可以使用继承,使用Dog类继承Animal类,这时候,Dog就包含了Animal类的一些属性,就不需要我们多次重复写这些属性了。

面向对象有哪些特性

多态,即对于同一个对象,可能执行出不同的结果,比如上面的Animal类,我们创建他的两个子类,分别为Dog和Cat,Animal有个方法叫做public void jiaoSheng() { System.out.println( “动物叫声” ) ; } 两个子类分别重写了这个方法,实现形式Dog:public void jiaoSheng() { System.out.pringln( “狗叫声” ) ; }, Cat: public void jiaoSheng() { System.out.println( “猫叫声” ) ; },这时候我们可以创建一个Animal对象 animal = new Animal( );这时候我们调用animal.jiaoSheng() ;打印出 “动物叫声”;当animal = new Dog( ) ;的时候,我们调用animal.jiaoSheng() ; 打印出 “狗叫声”;当 animal = new Cat() ;的时候,我们调用animal.jiaoSheng() ; 打印出“猫叫声”;对于同一个对象animal我们调用同一个方法的时候,打印出的结果是不相同的,利用多态,我们就可以进行很多的扩展,而不需要过多的去修改原先的代码,可以保证代码的可维护性;从上面我们可以看得出来,如果要有多态,需要满足三个条件,第一个继承(或实现接口),第二个重写,也就是需要重写父类里面的方法,否则不会实现多态,对象调用的还是父类的方法,第三个父类引用指向子类对象,就像上面的animal他是一个Animal类的对象,但我们new的时候,创建的是子类Dog和Cat类的两个对象;

以下为源码示例:

public class Animal{

public void jiaoSheng() {

System.out.println(“动物叫声”);

}

}

public class Dog extends Animal{

@Override

public void jiaoSheng() {

System.out.println(“狗叫声”);

}

}

public class Cat extends Animal{

@Override

public void jiaoSheng() {

System.out.println(“猫叫声”);

}

}

http://shenzhen.offcn.com/

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI