欢迎光临散文网 会员登陆 & 注册

面向对象的三大特征

2020-12-07 15:21 作者:编程大战  | 我要投稿

三大特征:

  1. 封装-->提高程序的安全性 (数据的准确性)

  2. 继承-->提高代码的复用性 (重复使用性)

  3. 多态-->提高程序的可扩展性和可维护性

一、封装

隐藏对象内部的复杂性,只对外公开简单的接口,便于外界调用,提高程序的安全性

隐藏实现的细节 仅仅需要关注具体的功能

方法的抽取 仅仅需要关注方法的功能 忽略方法实现的细节

项目的模块化设计 层次的划分

1、对类的属性进行隐藏

使用private关键字 修饰类的成员变量

private修饰的成员变量 仅仅可以在当前类中直接使用

2、给每个属性提供公有的get(获取)和set(赋值)方法

测试代码:

总结:

  1. 属性全部隐藏 对象内部的特点不让外界知道 我们仅仅需要关注对象的功能即可 内部的实现 使用了哪些成员 统统不用考虑

  2. 数据的安全性和和规范性更高

二、继承

java中由已知类创建新类的一种机制,新类拥有已知类的属性和方法,同时,还可以有自己独有的属性和方法

减少相同代码的反复编写,提高代码的复用性,减少编码量,提高程序的可维护度

继承是怎么来的?

是对N多个类的抽像

根据N多个类,抽取出像的部分,归纳为父类,被抽取的类,称为子类

1、在Java中如何实现继承?

在java中使用extends (扩展)实现继承,说明子类是父类的扩展

新类(子类) extends 已知类(父类)

一个父类可以有多个子类,但是一个子类只能有一个直接父类

【例】

1、先准备父类

2.准备子类

Audi

BMW

测试代码:

2、super关键字

1、当子类中重写父类中同名的属性

那么在子类中父类的同名的属性被隐藏了

如果在子类中想继续使用父类隐藏的属性 那么要使用super关键字调用父类属性

2、子类对父类同名方法的重新定义叫做方法的重写

子类重写父类方法之后 父类的方法就默认隐藏了

如果子类想继续使用父类中被隐藏的同名方法 那么要使用super关键字调用

三、多态

  • 一种事物可以有多种表现形态

  • 父类作为方法参数 所有的子类对象都可以作为实参

  • 父类作为方法的返回值 所有的子类对象都可以返回

子类父类相互转换:

  • 子类对象可以声明成父类对象

  • 子类拥父类的属性和方法

  • 父类不能声明成子类对象

  • 父类对象可以通过强制转换声明成子类对象 可以通过编译 但是运行的时候会出现 ClassCastException

  • 当父类对象原本就是由子类对象声明而成的 那么强制转换回子类 就不会报错

  • 子类声明成父类对象时 调用方法会执行子类的方法

  • 编译时 认为是父类 只能调用到父类中声明的方法

  • 执行时 认为是子类 占用子类内存 执行子类方法




面向对象的三大特征的评论 (共 条)

分享到微博请遵守国家法律