面向对象三大特性-继承性

面向对象三大特性-继承性面向对象特征之二 继承性

大家好,欢迎来到IT知识分享网。

面向对象特征之二:继承性

1.继承性的理解

生活上:财产继承、颜值继承 代码层面 自上而下:定义一个类A,在定义另一个类B时,发现类B的功能与类A相似,考虑类B继承于类A 自下而上:定义了类B,C,等,发现B、C有类似的属性和方法,则可以考虑将相同的属性和方法进行抽取, 封装到类A中,让类B、C继承类A,同时B、C中的相同的功能就看可以删除了

2.继承性的好处

继承的出现减少了代码的冗余,提高了代码的复用性 继承的出现,更便于功能的扩展 继承的出现让类于类之间产生了is-a的关系,为多态的使用提供了前提 -继承描述事物之间的所属关系,这种关系时:is-a的关系。可见,父类更通用、更一般,子类更具体 注意:不要仅为了其他类中某个功能而去继承

3.继承的格式

class A{ //属性、方法 } class B extends A{

}

继承中的基本概念 类A:父类、superClass、超类、基类 类B:子类、subClass、派生类

4.有了继承性以后

子类就获取到了父类中声明的所有属性和方法 但是,由于封装性的影响,可能子类不能直接调用父类中的属性或方法 子类在继承父类以后,还可以扩展自己特有的功能(体现:增加自己特有的属性或方法) 子类和父类的理解:要区别于集合和子集 不要为了继承而继承,在继承之前,判断一下是否有is-a的关系

5.默认的父类:

java中声明的类,如果没有显示的声明其父类,则默认继承于java.lang.Object

6.补充说明 Java支持多层继承(继承体系) >直接父类、间接父类 一个父类可以有多个子类,一个子类只能有一个父类 Java只支持单继承,不支持多重继承

java中的子父类的概率是相对的

Person类(父类)

package Oop2.atguigu03_extends; public class Person { //属性 String name; private int age; public void eat(){ System.out.println("人吃饭"); } public void sleep(){ System.out.println("人吃饭"); } public void show(){ System.out.println("age:"+age); } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }

 Student类(子类)

package Oop2.atguigu03_extends; public class Student extends Person{ //属性 // String name; // int age; String school; // public void eat(){ System.out.println("人吃饭"); } public void sleep(){ System.out.println("人吃饭"); } public void study(){ System.out.println("学生学习"); } public void show1(){ // System.out.println("age:"+age); System.out.println("age:"+getAge()); } } 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/121332.html

(0)
上一篇 2025-10-24 11:45
下一篇 2025-10-24 12:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信