继承和继承案例

继承:extends

每个人都应该有过这样的经历,写java项目/作业的时候创建很多相似的类,类中也有很多相同的方法,做了很多重复的工作量,感觉很臃肿。而合理使用继承就可以大大减少重复代码,提高代码的复用性

 

什么是继承?

继承 是面向对象软件技术中的一个概念,它使得复用以前的代码非常的容易

java语言是非常经典的面向对象的语言,在java对象中继承就是自雷继承父类中的属性方法,使得子类对象具有父类的属性和方法,或自雷从父类继承方法,使得自雷具有父类相同的方法,父类有时候也叫基类,超类,自雷有时候也被称为派生类

 

案例:我们知道动物有很多种,是一个比较大的概念。在动物的种类中我们熟悉的有猫,狗等等,他们一般都有一样的特征,比如:吃东西,都可以发出声音,在java语言中实现cat和dog的时候就需要继承Animal这个类,继承之后cat和dog就是动物类的自雷,Anilal是父类

 

为什么要继承:

我们创建dog和cat等动物类的时候实现其具体的方法就可以了吗,实现这个继承似乎使得这个类的结构不那么清楚,如果仅仅有两三个类,梅格雷的属性方法很有限的情况下没有必要实现继承,但事情并非如此,事实上一一个系统中往往有很多个类并且有很多的相似之处,比如猫狗都属于动物,或学生和老师都属于人,梅格雷可能有很多歌相同的属性和方法,这样的话梅格雷都重新写不进代码显得很短,代码工作量也会很大

这个时候继承的优势就出来了:可以直接使用父类的属性和方法,自己也可以有自己的新属性和方法满足扩展,父类的方法如果自己有需求更改也可以重写,这样使用继承不进大大的减少了代码量,也使得代码变得更加清晰可见

 

案例:

父类Animal

public class Animal {
private int id;
private String name;
private int age;

public Animal(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}

public Animal() {

}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

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("吃东西");
}
}

子类Dog、Cat
package com.Test02;

public class Cat extends Animal{
public Cat(int id, String name, int age) {
super(id, name, age);
}

public Cat() {
}

@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
package com.Test02;

public class Dog extends Animal{
public Dog(int id, String name, int age) {
super(id, name, age);
}

public Dog() {
}

@Override
public void eat() {
System.out.println("狗吃骨头");
}
}

测试类Test

 

 各自的类继承animal后可以直接使用父类的属性和方法,不需要重新编写,个各类如果有自己的方法可容易扩展

posted @ 2022-06-16 13:53  我滴妈老弟  阅读(28)  评论(0编辑  收藏  举报