AvA 绝属 辽宁经济职业技术学院信息系 硕士、副教授陈英 JAVA
继 承 辽宁经济职业技术学院信息系 硕士、副教授 陈英
继最的定改 AvA o继承的思想就是允许在已经存在的类上建 立新的类。 ○若继承一个已经存在的类时,那么就复用 (继承)那个类的方法和字段。同时还可 以在新类中增添新的方法和字段已适应新 的环境。 继承对于java编程来说是非常优秀和重要 的 JAVA
继承的定义 继承的思想就是允许在已经存在的类上建 立新的类。 若继承一个已经存在的类时,那么就复用 (继承)那个类的方法和字段。同时还可 以在新类中增添新的方法和字段已适应新 的环境。 继承对于java编程来说是非常优秀和重要 的
AvA 扩展类—般理粪 ◎在编程中,常常要创建某件事的模型(如:一个职 员),然后需要一个该基本模型的更专业化的版本 以前面的 Employee类为例。比如,可能需要一个经 理的模型。显然经理实际上是一个职员,只是一个 带有附加特征的职员。素Mam public class nager Employee类 String name; public class Employee t Date hireDate: String namei Date dateofBirth Date hireDatej String jobTitle; Date dateofBirth int grade; JAVA
扩展类——经理类 在编程中,常常要创建某件事的模型(如:一个职 员),然后需要一个该基本模型的更专业化的版本。 以前面的Employee类为例。比如,可能需要一个经 理的模型。显然经理实际上是一个职员,只是一个 带有附加特征的职员。 Employee类 public class Employee { String name; Date hireDate; Date dateOfBirth; } 经理类 public class Manager{ String name; Date hireDate; Date dateOfBirth; String jobTitle; int grade; ...}
AvA 扩展类—般理粪 这个例子阐述了在 Manager:和 Employee 类之间的数据复制。 在 Manager和 Employee类之间有一个明 显的“is-a”关系。每个经理都是一个员 工:“is-a”就是继承的特点。 此外,还可能有许多适用于 Employee和 Manager两者的方法。因此,需要有一 种办法从现有类来创建一个新类。这就 叫做子类。 JAVA
扩展类——经理类 这个例子阐述了在Manager和Employee 类之间的数据复制。 在Manager和Employee类之间有一个明 显的“is-a” 关系。每个经理都是一个员 工: “is-a” 就是继承的特点。 此外,还可能有许多适用于Employee和 Manager两者的方法。因此,需要有一 种办法从现有类来创建一个新类。这就 叫做子类
“sa”美系 继承是否为正确的设计可以用一个简单的规则 来判断:“is-a规则表明子类的每一个对象 都是一个超类的对象 ○例如,每一个经理是一个员工。然而,只有 Manager类是 Employee.的子类才是有意义的。 很明显,反过来就不行了。并不是每个员工都 是经理。 o“is-a”规则的替代原则:无论何时,如果程 序需要一个超类对象,都可以用一个子类的对 象来代替。 JAVA
“is-a” 关系 继承是否为正确的设计可以用一个简单的规则 来判断:“is-a” 规则表明子类的每一个对象 都是一个超类的对象。 例如,每一个经理是一个员工。然而,只有 Manager类是Employee的子类才是有意义的。 很明显,反过来就不行了。并不是每个员工都 是经理。 “is-a” 规则的替代原则:无论何时,如果程 序需要一个超类对象,都可以用一个子类的对 象来代替
Extends AvA 手键字 在面向对象的语言中,提供了特殊的机制,允 许程序员用以前定义的类来定义一个类。如下 所示,可用关键字 extends来实现 public class Manager extends Employee t String departmenty Employee [ subordinates 在这样的安排中, Manager:类被定义,具有 Employee所拥有的所有变量及方法。所有这 些变量和方法都是从父类的定义中继承来的。 所有的程序员需要做的是定义额外特征或规定 将适用的变化。 JAVA
关键 字—— Extends 在面向对象的语言中,提供了特殊的机制,允 许程序员用以前定义的类来定义一个类。如下 所示,可用关键字extends来实现 public class Manager extends Employee { String department; Employee [] subordinates; } 在这样的安排中,Manager类被定义,具有 Employee 所拥有的所有变量及方法。所有这 些变量和方法都是从父类的定义中继承来的。 所有的程序员需要做的是定义额外特征或规定 将适用的变化
AvA 手键字 Extends ◎关键字 extends说明了要构建一个新类而该类 是从一个已经在的类中衍生而出。 已存在的类叫做超类、基类或者父类而新类称 作子类或者派生类。 术语超类和子类在java语言中表示继承,而在 其它语言中更习惯于父/子类的叫法。但它们都 表示继承。 尽管 Employee类是一个超类,但是并不因为它 是它的子类的超类就意味着它有更多的功能 恰恰相反,子类比它们的超类具有更多的功能 JAVA
关键 字—— Extends 关键字 extends 说明了要构建一个新类而该类 是从一个已经在的类中衍生而出。 已存在的类叫做超类、基类或者父类;而新类称 作子类或者派生类。 术语超类和子类在java语言中表示继承,而在 其它语言中更习惯于父/子类的叫法。但它们都 表示继承。 尽管Employee类是一个超类,但是并不因为它 是它的子类的超类就意味着它有更多的功能。 恰恰相反,子类比它们的超类具有更多的功能
AvA 继最的意 这种方法是在维护和可靠性方面的一个伟大 进步。如果在 Employee类中进行修改,那么, Manager类就会自动修改,而不需要程序员做 任何工作,除了对它进行编译。 当浏览探索一个(子)类的时候,一定要检 查父类和其它祖先类中的继承成员。 当通过一个超类来定义一个子类时,只需说 明子类与超类的区别可以了。 在设计类时,应该把最通用的方法放进超类 中,而更专门的方法应该放在子类中。~点 JAVA
继承的意义 这种方法是在维护和可靠性方面的一个伟大 进步。如果在Employee类中进行修改,那么, Manager类就会自动修改,而不需要程序员做 任何工作,除了对它进行编译。 当浏览探索一个(子)类的时候,一定要检 查父类和其它祖先类中的继承成员。 当通过一个超类来定义一个子类时,只需说 明子类与超类的区别可以了。 在设计类时,应该把最通用的方法放进超类 中,而更专门的方法应该放在子类中
AvA 单继景性 o当一个类从一个唯一的类继承时,被称做 单继承性。单继承性使代码更可靠。 o Javat编程语言允许一个类仅能扩展成一个 其它类。这个限制被称做单继承性。 ◎Java编程语言加强了单继承性限制而使代 码更为可靠,尽管这样有时会增加程序员 的工作。 o java不支持多重继承。 JAVA
单继承性 当一个类从一个唯一的类继承时,被称做 单继承性。单继承性使代码更可靠。 Java编程语言允许一个类仅能扩展成一个 其它类。这个限制被称做单继承性。 Java编程语言加强了单继承性限制而使代 码更为可靠,尽管这样有时会增加程序员 的工作。 Java不支持多重继承
黑 Emplovee糙杀届决图 雇员 经理秘书 程序员 可以进行多层次继承,如上图所示 2.从一个通用超类扩展的所有类的集合称作一个 继承层次图。 裁 13.层次图中的从一个特殊类到该类祖先的路径称 作该类的继承链 4.通常一个祖先类有不止一个子孙继承链 JAVA
Employee继承层次图 雇员 经理 秘书 程序员 总裁 1. 可以进行多层次继承,如上图所示。 2. 从一个通用超类扩展的所有类的集合称作一个 继承层次图。 3. 层次图中的从一个特殊类到该类祖先的路径称 作该类的继承链。 4. 通常一个祖先类有不止一个子孙继承链