java面向对象三大基本特征

面向对象的三大特征:封装、继承、多态

一、封装
封装(Encapsulation)指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。
封装可以实现以下目的:
1、隐藏类的实现细节;
2、让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理访问;
3、便于修改,提高代码的可维护性。
例如:
这段代码中,将 name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。
以下例子中public方法是外部类访问该类成员变量的入口。这些方法被称为getter和setter方法,任何要访问类中私有成员变量的类都要通过这些getter和setter方法。
在这里插入图片描述
二、继承
java的继承通过extends关键字来实现,实现继承的类被称为子类,被继承的类称为父类,有的也成为基类,超类。
要求:继承的子类和父类之间必须满足“is A”关系。
类的继承格式:
class 父类 {

}

class 子类 extends 父类{

}

继承的特性
子类拥有父类非 private 的属性、方法。
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
子类可以用自己的方式实现父类的方法。
Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。

方法重写
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变

重写的好处在于子类可以根据需要,定义特定于自己的行为。
也就是说子类能够根据需要实现父类的方法。
在这里插入图片描述
三、多态
一个对象在不同条件下表现出的不同形态叫多态

要求:
1、必须具有关系(继承 实现)
2、父类型引用指向子类型实例
比如:
Parent p = new Child();
3、多态现象的发生必须存在重写方法
4、父类型调用重写的方法
例子:
在这里插入图片描述
在这里插入图片描述

Guess you like

Origin blog.csdn.net/weixin_44603382/article/details/86669909