面向对象的基本特征:封装、继承、多态

本文介绍了面向对象编程的三大基本特征:封装、继承和多态。封装增强了数据安全性,简化了编程,隐藏了实现细节。继承使得代码可重用,提高了维护性,并为多态奠定了基础。多态则允许同一行为在不同情况下有不同的表现形式,增强了程序的灵活性和可扩展性。同时,文章提到了多态可能带来的问题及其解决方案。

面向对象的三大特性

 封装:解决了数据的安全性问题

 继承:解决了代码的重用问题

多态:解决了程序的扩展问题

1 封装
  封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

  封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。

封装的优点:

(1)提高了数据的安全性
        别人不能够通过 变量名来修改某个私有的成员属性
(2)操作简单
        封装后,类的调用者在使用的时候,只需调用方法即可。
(3)隐藏信息实现细节
        实现过程对类的调用者是不可见的,类的调用者只需调用方法即可,不知道具体实现。
 

2 继承

  继承是面向对象的基本特征之一,继承机制允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

继承的优点:

        (1)提高类代码的复用性(Java是单继承)

        (2)提高了代码的维护性

        (3)使得类和类产生了关系,是多态的前提(它也是继承的一个弊端,提高了类的耦合性)

多继承:

继承多个父类

 3、多态
  多态同一个行为具有多个不同表现形式或形态的能力。是指一个类实例(对象)的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。

方法的多态性:重载与重写
            重载:同一个方法名称,根据不同的参数类型及个数可以完成不同的功能。
            重写:同一个方法,根据操作的子类不同,所完成的功能也不同。
对象的多态:父子类对象的转换。
            向上转型:子类对象变为父类对象,格式:父类 父类对象 = 子类实例,自动;
            向下转型:父类对象变为子类对象,格式:子类 子类对象 = (子类)父类实例,强制。
 

多态的弊端以及解决方案
类型转换的异常问题:类型转换异常
            原因:子类对引用指向父类对象   或  不存在子父类继承/实现关系
            解决办法:1.变量名    instanceof     数据类型---->(父类类型的变量名  instanceof  子类类型  )
        2.如果变量属于该数据类型,返回true。
        3.如果变量不属于该数据类型,返回false。
 

 多态的优点:

1. 消除类型之间的耦合关系
2. 可替换性
3. 可扩充性
4. 接口性
5. 灵活性
6. 简化性
  多态存在的三个必要条件:

继承
重写(子类继承父类后对父类方法进行重新定义)
父类引用指向子类对象
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值