fantasticDream

面向对象的三大特征

面向对象的三大特征:

  继承

  封装/隐藏

  多态

----为了适应需求的多种变化,使代码变得更加通用!

继承

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("了空间!");
}

}

 

posted on 2022-05-25 07:38  神奇的梦  阅读(35)  评论(0)    收藏  举报

导航