面向对象的三大特性
封装:解决了数据的安全性问题
继承:解决了代码的重用问题
多态:解决了程序的扩展问题
1 封装
封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。
封装的优点:
(1)提高了数据的安全性
别人不能够通过 变量名来修改某个私有的成员属性
(2)操作简单
封装后,类的调用者在使用的时候,只需调用方法即可。
(3)隐藏信息实现细节
实现过程对类的调用者是不可见的,类的调用者只需调用方法即可,不知道具体实现。
2 继承
继承是面向对象的基本特征之一,继承机制允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承的优点:
(1)提高类代码的复用性(Java是单继承)
(2)提高了代码的维护性
(3)使得类和类产生了关系,是多态的前提(它也是继承的一个弊端,提高了类的耦合性)
多继承:
继承多个父类

3、多态
多态同一个行为具有多个不同表现形式或形态的能力。是指一个类实例(对象)的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。
方法的多态性:重载与重写
重载:同一个方法名称,根据不同的参数类型及个数可以完成不同的功能。
重写:同一个方法,根据操作的子类不同,所完成的功能也不同。
对象的多态:父子类对象的转换。
向上转型:子类对象变为父类对象,格式:父类 父类对象 = 子类实例,自动;
向下转型:父类对象变为子类对象,格式:子类 子类对象 = (子类)父类实例,强制。
多态的弊端以及解决方案
类型转换的异常问题:类型转换异常
原因:子类对引用指向父类对象 或 不存在子父类继承/实现关系
解决办法:1.变量名 instanceof 数据类型---->(父类类型的变量名 instanceof 子类类型 )
2.如果变量属于该数据类型,返回true。
3.如果变量不属于该数据类型,返回false。
多态的优点:
1. 消除类型之间的耦合关系
2. 可替换性
3. 可扩充性
4. 接口性
5. 灵活性
6. 简化性
多态存在的三个必要条件:
继承
重写(子类继承父类后对父类方法进行重新定义)
父类引用指向子类对象
本文介绍了面向对象编程的三大基本特征:封装、继承和多态。封装增强了数据安全性,简化了编程,隐藏了实现细节。继承使得代码可重用,提高了维护性,并为多态奠定了基础。多态则允许同一行为在不同情况下有不同的表现形式,增强了程序的灵活性和可扩展性。同时,文章提到了多态可能带来的问题及其解决方案。

2008

被折叠的 条评论
为什么被折叠?



