面向对象的三大特征
面向对象的三大特征:
继承
封装/隐藏
多态
----为了适应需求的多种变化,使代码变得更加通用!
继承
OOD面向对象设计:
类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。
OOP面向对象编程:
提高代码的复用性!
OOA分析项目:
继承一个单词是:
extends的意思是:“扩展”。子类是父类的扩展
继承的关系:OOD面向对象设计

小结:
子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法)。
Java中类只有单继承,接口类里面有多继承。
没有像c++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。就像我们现实中,如果你有多个父母亲,那是一个多么混乱的世界啊。多继承,就是为了实现代码的复用性,却引入了复杂性,使得系统类之间的关系混乱。类多了之后不利于分析整体类的关系。
Java中的多继承,可以通过接口来实现
如果定义一个类时,没有调用extends,则它的父类是:
Java中有尽头,根类叫Object位于:Java.lang.Object包
如果建一个类没有写继承它默认给你加一个根类(叫Object位于:Java.lang.Object包)语句不用写。这么说我们所有的类都是它的子类,而extends Object 根类是他的老祖宗。
Java.lang.Object。
不同的叫法:超类、父类、基类、子类、派生类
一个类只能有一个直接父类!
package cn.bjsxt.oop.inherit;
public class Animal extends Object {
String eye;
public void run() {
System.out.println("咳咳咳!");
}
public void eat() {
System.out.println("色块!");
}
public void sleep() {
System.out.println("干饭!");
}
}
class Mammal extends Animal {
public void taishang() {
System.out.println("洛赛克!");
this.run();
this.eat();
}
}
class Paxing{
String eye;
public void run() {
System.out.println("咳咳咳!");
}
public void eat() {
System.out.println("色块!");
}
public void eggSheng() {
System.out.println("了空间!");
}
}
class Bird extends Animal {
String eye;
// 重写: 这里的子类需要 自己扩展把原先父类的方法重新编译
public void run() {
System.out.println("飞啊飞!");
}
public void eat() {
System.out.println("色块!");
}
public void eggSheng() {
System.out.println("了空间!");
}
}
本文来自博客园,作者:神奇的梦,转载请注明原文链接:https://www.cnblogs.com/fantasticDream/p/16307938.html
浙公网安备 33010602011771号