#JAVA#面向对象(继承1)
//定义学生类
class student(){
String name;
int age;
public student(){
}
//getXxx()/setXxx()
public void eat(){
System.out.println("吃饭");
}
}
//定义老师类
class tescher(){
String name;
int age;
public student(){
}
//getXxx()/setXxx()
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 void eat(){
System.out.println("吃饭");
}
}
class student extends person{
public student(){
}
}
class teacher extends person{
public teacher(){
}
}
package 继承;
/*
继承概述:
把多个类中相同的内容提取出来定义到一个类中
实现:
JAVA提供了关键字:extends
格式:
class 子类名 extends 父类名
好处:
A:提高了代码的复用性
B:提高了代码的维护性
C:让类与类之间产生了关系,是多态的前提
类与类产生了关系,其实也是继承的一个弊端,
因为类的耦合性增强了
开发的原则:低耦合,高内聚
耦合:类与类的关系
内聚:自己完成某件事的能力
*/
//使用继承前
/*class student{
public void eat() {
System.out.println("吃饭");
}
public void sleep() {
System.out.println("睡觉");
}
}
class teacher{
public void eat() {
System.out.println("吃饭");
}
public void sleep() {
System.out.println("睡觉");
}
}
*/
//使用继承后
class person{
public void eat() {
System.out.println("吃饭");
}
public void sleep() {
System.out.println("睡觉");
}
}
class student extends person{};
class teacher extends person{};
class extendsDemo {
public static void main(String args[]) {
student s=new student();
s.eat();
s.sleep();
System.out.println("---------");
teacher t=new teacher();
t.eat();
t.sleep();
}
}