javaSE学习(7):面向对象(抽象的两个最基本案例:老师案例和学员案例)

1.老师案例

/*
	老师案例
		具体事物:数学老师,英语老师
		共性:name,age,teach
	
	分析:
		数学老师
			姓名,年龄
			讲课
		英语老师
			姓名,年龄
			讲课
	
	实现:
		老师类
			数学老师类
			英语老师类
*/
//定义老师类(抽象)
abstract class Teacher{
	private String name;
	private int age;
	
	//定义无参构造函数
	public Teacher(){
	}
	
	//定义有参构造函数
	public  Teacher(String name,int age){
		this.name=name;
		this.age=age;
	}
	
	//定义抽象方法
	abstract void teach();
	
	//getter & setter
	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;
	}
	
}

//定义数学老师类
class MathTeacher extends Teacher{
	//无参构造,记得没有返回值类型
	public  MathTeacher(){
		
	}
	
	public MathTeacher(String name,int age){
		super(name,age);
	}
	
	public void teach(){
		System.out.println("我是数学老师,我爱数学");
	}
	
}

//定义英语老师
class EnglishTeacher extends Teacher{
	//无参构造,记得没有返回值类型
	public  EnglishTeacher(){
		
	}
	
	public EnglishTeacher(String name,int age){
		super(name,age);
	}
	
	public void teach(){
		System.out.println("我是英语老师,我教英语");
	}
	
}

//测试
class AbstractTest{
	public static void main(String[] args)
	{
		Teacher t=new MathTeacher();
		t.setName("章三");
		t.setAge(12);
		System.out.println(t.getName()+"--"+t.getAge());
		t.teach();
		
		//英语老师
		t=new EnglishTeacher();
		t.setAge(17);
		
	}
}

2.学员案例

/*
	学生案例
		具体事物:基础班学生,就业班学生
		共性:姓名,年龄,班级,学习,吃饭
		
	分析
		基础班学员
			成员变量:姓名,年龄,班级
			成员方法:学习,吃饭
		就业班学员
			成员变量:姓名,年龄,班级
			成员方法:学习,吃饭
			
	实现:
		学员类
		基础班学员
		就业班学员
*/

//定义学员类
abstract class student{
	private String name;
	private int age;
	private int banji;
	
	//无参构造方法
	public student(){ }
	
	//有参构造方法
	public student(String name,int age,string banji){
		this.name=name;
		this.age=age;
		this.banji=banji;
	}
	
	//getter & setter
	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 String getBanji(){
		return banji;
	}
	
	public void setBanji(String banji){
		this.banji=banji;
	}
	
	public abstract void study();
	
	public void eat(){
	System.out.println("学习累了,该吃饭了~");
	}
}

//定义基础班学员类
class BasicStudent extends Student{
	public BasicStudent(){}
	public BasicStudent(String name,int age,String banji){
		super(name,age,banji);
	}
	
	public void study(){
		System.out.println("基础班的学院学基础");
	}
}

//就业班
class WorkStudent extends Student{
	public WorkStudent(){}
	public WorkStudent(String name,int age,String banji){
		super(name,age,banji);
	}
	
	public void study(){
		System.out.println("就业班的去就业");
	}
}
class AbstractTest2{
	//测试
	Student s=new BasicStudent();
	
	
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值