继承 晚上习题

建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。并通过不同的构造方法创建实例。至少要求:  汽车能够加速,减速,停车。 再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法

//   父类

package auto;

public class Auto {
		public int wheel;
		public String color;
		public int weight;
		
		
		public Auto() {
			
		}


		public Auto(int wheel, String color, int weight) {
		
			this.wheel = wheel;
			this.color = color;
			this.weight = weight;
			
		}
		
		public void speedUp(){
			System.out.println(color+"的车有"+wheel+"个轮子,重"+weight+"吨,能加速!");
		}
		public void speedDown(){
			System.out.println(color+"的车有"+wheel+"个轮子,重"+weight+"吨,能减速!");
		}
		public void tingChe(){
			System.out.println(color+"的车有"+wheel+"个轮子,重"+weight+"吨,能停车!");
		}
}


//子类 Car

package auto;

public class Car extends Auto{
	public String kongtiao;
	public String CD;
	
	
	public Car() {
		super();
		
	}
	public Car(int wheel, String color, int weight) {
		super(wheel, color, weight);
		// TODO Auto-generated constructor stub
	}
	
	@Override
	public void speedUp() {
		System.out.println(color+"的车有"+wheel+"个轮子,重"+weight+"吨,能加速到很快!");
	}
	@Override
	public void speedDown() {
		System.out.println(color+"的车有"+wheel+"个轮子,重"+weight+"吨,能减速到很慢!");
	}
	
	
}

//  测试类

package auto;

public class TestAuto {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Car c=new Car();
		c.color="白色";
		c.wheel=4;
		c.weight=5;
		c.speedUp();
		c.speedDown();
		c.tingChe();
		
		Car c2=new Car(4,"黑色",6);
		c2.speedDown();
		c2.speedUp();
		
	}

}

写一个Person类,有编号id,姓名name,职位job。

构造方法带三个参数。

方法:

登陆login

注册register

自我介绍talk

写一个学生Student类继承Person类,方法有:考试test

属性有:学费money

写一个老师Teacher类继承Person类,

属性有 工资salary

方法有:工作work

写一个测试类TestPerson,测试学生和老师

学生:姓名-张三  职位-学生  学费-18000

老师:姓名-李四  职位-老师  工资-8000

//   父类

package person01;

public class Person {
	
	public String id;
	public String name;
	public String job;
	
	public Person() {
		
	}

	public Person(String id, String name, String job) {
		super();
		this.id = id;
		this.name = name;
		this.job = job;
	}

	//登录方法
	public void login(){
		System.out.println("登录成功!");
	}
	
	//注册方法
	public void register(){
		System.out.println("注册成功!");
	}
	
	//自我介绍方法
	public void talk(){
		
	}
}

//   子类 Student

package person01;

public class Student extends Person{
	
	public int xuefei;
	
	public Student() {
		
	}

	public Student(String id, String name, String job) {
		super(id, name, job);
		
	}

	public Student(int xuefei) {
		super();
		this.xuefei = xuefei;
	}

	
	public int getXuefei() {
		return xuefei;
	}

	public void setXuefei(int xuefei) {
		this.xuefei = xuefei;
	}

	//考试方法
	public void test(){
			
		}

	@Override
	public void talk() {
//		super.talk();
		System.out.println("学生:姓名-"+super.name+"职位-"+super.job+"学费-"+xuefei);
	}
	
	
}

//  子类 Teacher

package person01;

public class Teacher extends Person{
		public int salary;
		
		
		
		public Teacher(int salary) {
			super();
			this.salary = salary;
		}



		public Teacher() {
			super();
			// TODO Auto-generated constructor stub
		}



		public Teacher(String id, String name, String job) {
			super(id, name, job);
			// TODO Auto-generated constructor stub
		}



		//工作方法
		public void work(){
			
		}



		public int getSalary() {
			return salary;
		}



		public void setSalary(int salary) {
			this.salary = salary;
		}



		@Override
		public void talk() {
			
			super.talk();
			System.out.println("老师:姓名-"+super.name+"职位-"+super.job+"工资-"+salary);
		}
		
}

//   测试类

package person01;

public class TestPerson {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Student s=new Student("01","张三","学生");
		s.setXuefei(18000);
		s.login();
		s.register();
		s.talk();
		
		Teacher t=new Teacher("02","李四","老师");
		t.setSalary(8000);
		t.login();
		t.register();
		t.talk();
	}

}

定义一个父类:形状类Shapes,里面有两个方法,分别是求面积和周长。

定义一个子类:矩形Rectangle

定义一个子类:三角形 Triagle

定义一个子类:圆 Circle

定义一个测试类:传入圆的半径4 输出周长和面积

                传入矩形的长和宽4,5 输出周长和面积

                传入三角形三边:3,4,5 输出周长和面积

//   父类  
 
package shapes;
 
public class Shapes {
	
 
//	private  double mianji;
//	private  double zhouchang;
	
	private double chang;
	private double kuan;
	private double banjing;
	private double bian1;
	private double bian2;
	private double bian3;
	
	public Shapes() {
		
	}
	public Shapes(double chang, double kuan, double banjing, double bian1, double bian2, double bian3) {
		super();
		this.chang = chang;
		this.kuan = kuan;
		this.banjing = banjing;
		this.bian1 = bian1;
		this.bian2 = bian2;
		this.bian3 = bian3;
	}
	public void mianJi(){
		
	}
	public void zhouChang(){
		
	}
	public double getChang() {
		return chang;
	}
	public void setChang(double chang) {
		this.chang = chang;
	}
	public double getKuan() {
		return kuan;
	}
	public void setKuan(double kuan) {
		this.kuan = kuan;
	}
	public double getBanjing() {
		return banjing;
	}
	public void setBanjing(double banjing) {
		this.banjing = banjing;
	}
	public double getBian1() {
		return bian1;
	}
	public void setBian1(double bian1) {
		this.bian1 = bian1;
	}
	public double getBian2() {
		return bian2;
	}
	public void setBian2(double bian2) {
		this.bian2 = bian2;
	}
	public double getBian3() {
		return bian3;
	}
	public void setBian3(double bian3) {
		this.bian3 = bian3;
	}
	
	
}
 
 
//   子类 矩形
 
package shapes;
 
public class Rectangle extends Shapes{
	double mianji=0;
	double zhouchang=0;
	@Override
	
	public void mianJi() {
		mianji=super.getKuan()*super.getChang();
		System.out.println("矩形的面积是"+mianji);
	}
 
	@Override
	public void zhouChang() {
		zhouchang=(super.getKuan()+super.getChang()*2);
		System.out.println("矩形的周长是:"+zhouchang);
	}
}
 
 
//    子类  三角形
 
package shapes;
 
public class Triagle extends Shapes {
	double mianji=0;
	double zhouchang=0;
	@Override
	
	public void mianJi() {
		mianji=super.getBian1()*super.getBian2()*1/2;
		System.out.println("三角形的面积是"+mianji);
	}
 
	@Override
	public void zhouChang() {
		zhouchang=super.getBian1()+super.getBian2()+super.getBian3();
		System.out.println("三角形的周长是"+zhouchang);
	
	}
 
}
 
 
//    子类  圆
 
package shapes;
 
public class Circle extends Shapes{
	double mianji=0;
	double zhouchang=0;
	@Override
	
	public void mianJi() {
		mianji=super.getBanjing()*super.getBanjing()*3.14;
		System.out.println("圆的面积是"+mianji);
	}
 
	@Override
	public void zhouChang() {
		zhouchang=(super.getBanjing()*3.14*2);
		System.out.println("圆的周长是:"+zhouchang);
	}
}
 
 
//   测试类
 
package shapes;
 
public class TestShapes {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Triagle t=new Triagle();
		t.setBian1(3);
		t.setBian2(4);
		t.setBian3(5);
		t.mianJi();
		t.zhouChang();
		
		Rectangle r=new Rectangle();
		r.setChang(4);
		r.setKuan(5);
		r.mianJi();
		r.zhouChang();
		
		Circle c=new Circle();
		c.setBanjing(4);
		c.mianJi();
		c.zhouChang();
	}
 
}
 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值