1.封装性
封装的主要目的是实现信息隐藏和保护对象的数据,使得对象的内部状态只能通过定义的方法进行访问和修改,而不允许外部直接操作对象的属性。这样可以防止外部代码直接修改对象的状态,确保对象的数据在被修改时经过适当的验证和处理。
通过封装,对象的实现细节被封装在对象内部,外部代码只需要关注对象提供的接口,而不需要了解对象的具体实现细节。这有助于降低代码的耦合性,提高代码的可维护性和可复用性。
通过封装使得用户只能通过特定的方式访问,通过对该方式相关语句的添加来实现对用户输入相关内容的控制。
(3)如何实现封装
封装实现过程就是再定义一个类时,将类中的属性私有化,即用private修饰词修饰属性,使得用户不能直接访问该属性,只能通过该属性的公共方法来访问。
举例:
2.继承性
(1)多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么,多个类中无需 再定义这些属性和行为,只需要和抽取出来的类构成继承关系。通过extends来实现继承关系。例如猫和狗都属于动物,哈士奇和金毛都是狗等,它们都有其共有属性就可以继承其父类的属性和方法。
![](https://i-blog.csdnimg.cn/blog_migrate/38bf242123ab178b81c74c11cb97045c.png)
上述代码为子类猫
上述代码为子类狗
测试用例
注意:
(1)在java中类只能单方面继承,一种类只能继承一个父类。
(2)多个类可以继承一个父类。
(3)在java中多层继承也可以,即为一个类的父亲可以在继承另外的父亲。
例如:class A{}
class B extends A{}
class C extends B{}
B类是A类的子类,同时又是C类的父亲。
(3)多态
多态是指不同类的对象在调用同一个方法时表现出的多种不同行为。例如:动物都会叫,但是猫狗的叫声不一样,在动物叫声的方法中由于参数类型不同而导致的执行效果不同就是多态。
举例:
上述代码实现了动物类和其子类狗,子类狗继承了父类动物的属性和方法,并且子类狗通过super实现了多态,并在狗的类型中实现了eat的重写,狗既吃饭,又吃骨头