今日学习内容:继承、抽象类、综合
第一章:继承
假如我们要定义如下类:讲师类,班主任类和就业指导类,分析如下:
1、讲师类
属性:姓名,年龄,工资
行为:展示信息,讲课
2、班主任类
属性: 姓名,年龄,工资
行为:展示信息 ,管理班级
3、就业指导类
属性:姓名,年龄,工资
行为:吃饭,展示信息,辅导作业
分析:如果我们定义三个类,每个类都有姓名,年龄,工资,展示信息,代码重复了,需要把重复的代码单独定义到一个类中
在一个已知类A的基础上,创建新类B的过程,称之为继承
这里类A,称之为父类,基类,超类
这里类B,称之为子类,派生类
1.1、继承的概念:
向上抽取共性,把相同的内容定义在父类中
1.2、什么情况下使用继承:
(1)、必须满足is a 的关系
(2)、xxx是yyy的一种
(3)、讲师是员工的一种
(4)、班主任是员工的一种
(5)、兔子是动物的一种
1.3、继承的好处:
(1)、提高了代码的复用性
(2)、让类与类之间产生了关系(父子)
(3)、是多态的前提
(4)、子类可以使用父类的除了private修饰的和构造方法以外的内容
1.4、继承的格式和代码的体现
格式:
public class 父类{
//成员变量
//成员方法
//构造方法
}
public class 子类 extends 父类 {
//成员变量
//成员方法
//构造方法
}
public class A extends B {
//..........
}
注意:
1、B是父类,又叫超类、基类,A是子类
2、子类可以使用父类中除了private修饰的和构造方法以外的内容
代码体现:
//定义父类员工:
public class Employee{
String name;
int age;
int salary;
//成员方法
public void show(){
System.out.println("姓名"+name+",年龄"+age+",工资"+salary);
}
}
//定义子类讲师类 继承 父类 员工类
public class Teacher extends Employee{
//特有功能:讲课
public void teacher() {
System.out.println(name+"正在讲解面向对象.......");
}
}
//定义子类班主任类 继承父类员工类
public class Manager extends Employee{
//特有功能:管理班级
public void manageClass() {
System.out.println(name+"正在管理班级.......");
}
}
//定义测试类
public class Demo01Extends{
public static void main(String[] args) {
//创建Teacher类的对象
Teacher t = new Teacher();
//给成员变量赋值
t.name = "张三";
t.age = 18;
t.salary = 500000;
//调用成员方法
t.show();
t.teacher();
System.out.println("-------------");
//创建Manager类
Manager m = new Manager();
//给成员变量赋值
m.name = "法外狂徒";
m.age = 16;
m.salary = 822222;
//调用成员方法
m.show();
m.manageClass();
}
}
```
2021-09-15
最新推荐文章于 2024-08-29 18:44:48 发布
本文详细介绍了如何通过继承机制减少代码冗余,创建讲师、班主任和就业指导类,突出讲师、班主任作为员工的子类特性,并展示了如何利用抽象类提高复用性和多态性。实例代码演示了如何在`Employee`基础上定义`Teacher`和`Manager`,以及在`Demo01Extends`中使用这些类。
摘要由CSDN通过智能技术生成