0
点赞
收藏
分享

微信扫一扫

面向对象_继承的引入和概述


首先写两个代码:

//定义学生类

class Student{

int name;

int age;



public Student(){}



//getXxx()/setXxx()



public String getName(){

return name;

}



public void setName(String name){

this.name = name;

}



public int getAge(){

return age;

}



public void setAge(int age){

this.age = age;

}



public void eat(){

System.out.println("吃饭");

}

}



//定义老师类

class Teacher{

String name;

int age;



public Teacher(){}



//getXxx()/setXxx()



public String getName(){

return name;

}



public void setName(String name){

this.name = name;

}



public int getAge(){

return age;

}



public void setAge(int age){

this.age = age;

}



public void eat(){

System.out.println("吃饭");

}

}

观察上面两个代码:

发现name,age成员变量,以及getXxx()/setXxx(),还有eat()等都是相同的。

如果我们后来继续定义类,举例:工人类,军人类。他们是不是也具备这些内容。

那么,我们每一次定义这样的类的时候,都要把这些重复的内容都重新定义一遍。

麻烦不?麻烦。所以我们要考虑改进?

如何改进呢?

我这样想:我能不能把这些相同的内容定义到一个独立的类中。

然后,让这多个类和这个独立的类产生一个关系,有了这个关系后,

这多个类就可以具备这个独立的类的功能。

为了实现这个效果,java就提供了一个技术类:继承。



父亲:

4个儿子

继承怎么表示呢?继承的格多是什么样子的呢?

class Fu {}



class Zi extends Fu {



}




我们就回头修改我们的代码:

class Person {

String name;

int age;



public Person() {}



//getXxx()/setXxx()



public String getName() {

return name;

}



public void setName(String name) {

this.name = name;

}



public int getAge() {

return age;

}



public void setAge(int age) {

this.age = age;

}



public void eat() {

System.out.println("吃饭");

}

}



class Student extends Person {

public Student() {}

}



class Teacher extends Person {

public Teacher() {}

}

举报

相关推荐

0 条评论