2021-09-15

本文详细介绍了如何通过继承机制减少代码冗余,创建讲师、班主任和就业指导类,突出讲师、班主任作为员工的子类特性,并展示了如何利用抽象类提高复用性和多态性。实例代码演示了如何在`Employee`基础上定义`Teacher`和`Manager`,以及在`Demo01Extends`中使用这些类。
摘要由CSDN通过智能技术生成
	今日学习内容:继承、抽象类、综合
	第一章:继承
			假如我们要定义如下类:讲师类,班主任类和就业指导类,分析如下:
					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();
							       }
							   }
								
			```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值