首页 > 其他 > 详细

4.37 使用继承学生和老师案例

时间:2015-09-15 09:30:34      阅读:232      评论:0      收藏:0      [点我收藏+]
/*
学生案例和老师案例讲解

学生:
	成员变量;姓名,年龄
	构造方法:无参,带参
	成员方法:getXxx()/setXxx()
老师:
	成员变量;姓名,年龄
	构造方法:无参,带参
	成员方法:getXxx()/setXxx()
*/
//定义学生类
class Student {
	// 姓名
	private String name;
	// 年龄
	private int age;

	public Student() {
	}

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

	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 Teacher {
	// 姓名
	private String name;
	// 年龄
	private int age;

	public Teacher() {
	}

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

	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 ExtendsTest3 {
	public static void main(String[] args) {
		// 创建学生对象并测试
		// 方式1
		Student s1 = new Student();
		s1.setName("程又青");
		s1.setAge(27);
		System.out.println(s1.getName() + "---" + s1.getAge());

		// 方式2
		Student s2 = new Student("程又青", 27);
		System.out.println(s2.getName() + "---" + s2.getAge());

	}
}

使用继承改进:

/*
学生案例和老师案例讲解

学生:
	成员变量;姓名,年龄
	构造方法:无参,带参
	成员方法:getXxx()/setXxx()
老师:
	成员变量;姓名,年龄
	构造方法:无参,带参
	成员方法:getXxx()/setXxx()
	
看上面两个类的成员,发现了很多相同的东西,所以我们就考虑抽取一个共性的类:
人:
	成员变量;姓名,年龄
	构造方法:无参,带参
	成员方法:getXxx()/setXxx()
	
	学生 继承 人
	老师 继承 人
*/
//定义人类
class Person {
	// 姓名
	private String name;
	// 年龄
	private int age;

	public Person() {
	}

	public Person(String name, int age) { // "林青霞",27
		this.name = name;
		this.age = age;
	}

	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 Student extends Person {
	public Student() {
	}

	public Student(String name, int age) { // "林青霞",27
		// this.name = name;
		// this.age = age;
		super(name, age);
	}
}

// 定义老师类
class Teacher extends Person {

}

class ExtendsTest4 {
	public static void main(String[] args) {
		// 创建学生对象并测试
		// 方式1
		Student s1 = new Student();
		s1.setName("李大仁");
		s1.setAge(27);
		System.out.println(s1.getName() + "---" + s1.getAge());

		// 方式2
		Student s2 = new Student("李大仁", 27);
		System.out.println(s2.getName() + "---" + s2.getAge());

	}
}


4.37 使用继承学生和老师案例

原文:http://my.oschina.net/u/2001589/blog/506126

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!