面向对象

面向对象是一种设计思想,强调的是具备功能的对象,让对象调用方法解决问题。

思想的特点

1、让复杂的事情简单化;

2、更符合人类的思维需求;

3、由执行者变成指挥者;

三大特征:封装,继承,多态

封装

隐藏对象的属性和实现方式,仅对外提供公共访问的方式

好处:1、安全 2、提高代码复用性 3、便于使用

继承

当多个类有有很多共同内容的时候,可以把这些共性的内容抽取出来封装成一个类,让这些类与这个封装的类产生关系,这种关系就是继承。

如果B类继承于A类,则A类叫做B类的父类,B类叫做A类的子类。子类继承了父类的所有属性和方法,子类可以拓展自己的属性和方法

继承的特点

java 类只支持单继承,但能够多层次继承;接口支持能单继承也能多继承;

继承的优缺点

优点:1、提高代码复用性;2、提高代码维护性;3、提高代码扩展性;4、让类与类之间产生关系;

缺点:增强了类与类的耦合性;




抽象类的特点

1、抽象方法只能定义在抽象类中,抽象方法和抽象类必须有abstract关键字修饰;

2、抽象方法只能定义方法声明,并不定义方法实现;

3、抽象类不可以创建实例对象;

4、只有通过子类继承抽象类并覆盖了抽象类中的所有方法后,该子类才能实例化,否则子类还是一个抽象类;

5、抽象类只能单继承;


抽象类和接口的区别

1、抽象类只能被继承,而且只能单继承;接口需要被实现,可以多实现。

2、抽象类中可以定义非抽象方法,子类可以直接继承使用。接口中都有抽象方法,需要子类去实现。

3、抽象类定义的是该继承体系的共性功能,接口定义的是该体系的拓展功能;

4、抽象类的成员变量修饰符可以自定义。接口中的成员修饰符固定是public;

多态

对象在不同时刻表现出来的多种状态。是一种编译时期状态和运行时期状态不一致的现象。

成员变量:编译看左边,运行看左边。

成员方法:编译看左边,运行看右边。因为,普通成员方法可以重写,变量不可以。

静态方法:编译看左边,运行看左边。

前提:类与类之间要有继承关系。要有方法的重写。父类引用指向子类对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容