面向对象-练习-2021-02-02-01

package com.user.learn1;

import org.junit.Test;

public class OOPTest1 {
	@Test
	public void testA() {
		A a = new A();
		a.show();
		B b = new B();
		a.a = 2;
		a.show();
		b.show();
		b.a = 5;
		b.show();
	}

	@Test
	public void testPerson() {
		Person p1 = new Faculty("张三", "北京", "123456", "123456@qq.com", "开发部", 10000, "2021-01", "本科", "三级");
		System.out.println(p1.name);
	}

	@Test
	public void testCar() {
		Car c1 = new Car("捷达", "红色");
		Car c2 = new Car("捷达", "红色");
		Car c3 = new Car("捷达", "白色");
		System.out.println(c1.toString());
		System.out.println(c2.toString());
		System.out.println(c3.toString());
		System.out.println(c1.equals(c3));
		System.out.println(c1.equals(c2));
	}

	@Test
	public void testVehicle() {
		Vehicle v1 = new Truck(4, 1.0, 5, 2);
		System.out.println(v1.toString());
		v1.wheels = 2;
		System.out.println(v1.toString());
		Vehicle v2 = new Vehicle(1, 1);
		System.out.println(v2.toString());
	}

	@Test
	public void testEmployee1() {
		Employee1 e1 = new Employee1("张三", "001", 2000);
		Employee1 e2 = new Employee1("李四", "002", 3000);
		System.out.println(e1.toString());
		System.out.println(e2.toString());
		System.out.println(e1.toString() + "\t奖金是:" + e1.bonus(true));
		System.out.println(e2.toString() + "\t奖金是:" + e2.bonus(false));
	}

	@Test
	public void testVehicle1() {
		Car1 c = new Car1();
		c.drive();
		Vehicle1 v1 = new Car1();
		Vehicle1 v2 = new Airplane();
		Vehicle1 v3 = new Ship();
		v1.drive();
		v2.drive();
		v3.drive();
	}

	@Test
	public void testPerson1() {
		Person1 p = new Person1("張三", "男性", 21);
		System.out.println(p.getName());
		Student s1 = new Student("張三", "男性", 21, "1001");
		Student s2 = new Student("李四", "男性", 20, "1002");
		System.out.println(s1.toString());
		System.out.println(s2.toString());
//		System.out.println(s1.equals(s2));
		Student s3 = new Student("張三", "男性", 21, "1001");
		System.out.println(s3.toString());
		System.out.println(s1.equals(s3));
	}

	@Test
	public void testPerson2() {
		Person2 p1 = new Person2("唐僧", 1.8, "法杖", "人族");
		Person2 p2 = new Person2("孙悟空", 1.7, "金箍棒", "仙族");
		Person2 p3 = new Person2("唐僧", 1.6, "魔爪", "妖族");
		System.out.println(p1.toString() + "\t技能:" + p1.skill());
		System.out.println(p2.toString() + "\t技能:" + p1.skill());
		System.out.println(p3.toString() + "\t技能:" + p1.skill());
		System.out.println(p1.equals(p2));
		System.out.println(p1.equals(p3));
	}

	@Test
	public void testDemo() {
		new Demo();
		System.out.println("***********");
		new Test1();
	}
}

class A {
	int a = 1;
	double d = 2.0;

	void show() {
		System.out.println("Class A: a=" + a + "\td=" + d);
	}
}

class B extends A {
	float a = 3.0f;
	String d = "Java program.";

	void show() {
		super.show();
		System.out.println("Class A: a=" + a + "\td=" + d);
	}
}

class Person {
	String name;
	String address;
	String telphone;
	String email;

	public Person(String name, String address, String telphone, String email) {
		super();
		this.name = name;
		this.address = address;
		this.telphone = telphone;
		this.email = email;
	}

}

class Employee extends Person {
	String office;
	double wage;
	String hiredate;

	public Employee(String name, String address, String telphone, String email, String office, double wage,
			String hiredate) {
		super(name, address, telphone, email);
		this.office = office;
		this.wage = wage;
		this.hiredate = hiredate;
	}
}

class Faculty extends Employee {
	String degree;
	String level;

	public Faculty(String name, String address, String telphone, String email, String office, double wage,
			String hiredate, String degree, String level) {
		super(name, address, telphone, email, office, wage, hiredate);
		this.degree = degree;
		this.level = level;
	}
}

class Staff extends Employee {
	String duty;

	public Staff(String name, String address, String telphone, String email, String office, double wage,
			String hiredate, String duty) {
		super(name, address, telphone, email, office, wage, hiredate);
		this.duty = duty;
	}
}

class Car {
	private String color;
	private String type;

	public Car() {
		super();
	}

	public Car(String color, String type) {
		super();
		this.color = color;
		this.type = type;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String toString() {
		return "color:" + this.color + "\ttype:" + this.type;
	}

	public boolean equals(Car car) {
		if (this.color == car.color && this.type == car.type) {
			return true;
		}
		return false;
	}
}

class Vehicle {
	int wheels;
	double weight;

	public Vehicle() {
		super();
	}

	public Vehicle(int wheels, double weight) {
		super();
		this.wheels = wheels;
		this.weight = weight;
	}

	public String toString() {
		return "车轮数:" + this.wheels + "\t车重是:" + this.weight;
	}
}

class MiniCar extends Vehicle {
	int loader;

	public MiniCar() {
		super();
	}

	public MiniCar(int wheels, double weight, int loader) {
		super(wheels, weight);
		this.loader = loader;
	}

	public String toString() {
		return super.toString() + "\t乘坐人数:" + this.loader;
	}
}

class Truck extends MiniCar {
	double payload;

	public Truck() {
		super();
	}

	public Truck(int wheels, double weight, int loader, double payload) {
		super(wheels, weight, loader);
		this.payload = payload;
	}

	public String toString() {
		return super.toString() + "承载重量=" + this.payload;
	}
}

class Employee1 {
	private String name;
	private String id;
	private double wages;

	public Employee1() {
		super();
	}

	public Employee1(String name, String id, double wages) {
		super();
		this.name = name;
		this.id = id;
		this.wages = wages;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getNmae() {
		return this.name;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getId() {
		return this.id;
	}

	public void setWages(double wages) {
		this.wages = wages;
	}

	public double getWages() {
		return this.wages;
	}

	public double bonus(boolean cid) {
		if (cid) {
			return 2 * this.wages;
		}
		return 1.5 * this.wages;
	}

	public String toString() {
		return "姓名:" + this.name + "\t编码:" + this.id + "\t工资是:" + this.wages;
	}
}

abstract class Vehicle1 {
	abstract void drive();
}

class Car1 extends Vehicle1 {
	public void drive() {
		System.out.println("在马路上开车!!!");
	}
}

class Airplane extends Vehicle1 {
	public void drive() {
		System.out.println("飞机飞飞!!!");
	}
}

class Ship extends Vehicle1 {
	public void drive() {
		System.out.println("轮船飘飘!!!");
	}
}

/**
 * 编写一个人类Person,其中包含姓名、性别和年龄的属性,包含构造方法以及显示姓名、性别和年龄的方法
 * 
 * @author Administrator
 *
 */
class Person1 {
	private String name;
	private String gender;
	private int age;

	public Person1() {
		super();
	}

	public Person1(String name, String gender, int age) {
		super();
		this.name = name;
		this.gender = gender;
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

}

class Student extends Person1 {
	private String sid;

	public Student() {
		super();
	}

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

	public String getSid() {
		return sid;
	}

	public void setSid(String sid) {
		this.sid = sid;
	}

	@Override
	public String toString() {
		return "Student [sid=" + sid + ", getSid()=" + getSid() + ", getName()=" + getName() + ", getGender()="
				+ getGender() + ", getAge()=" + getAge() + "]";
	}

	public boolean equals(Student student) {
		if (this.getName() == student.getName() && this.getSid() == student.getSid()) {
			return true;
		}
		return false;
	}
}

class Person2 {
	private String name;
	private double height;
	private String weapon;
	private String race;

	public Person2() {
		super();
	}

	public Person2(String name, double height, String weapon, String race) {
		super();
		this.name = name;
		this.height = height;
		this.weapon = weapon;
		this.race = race;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getHeight() {
		return height;
	}

	public void setHeight(double height) {
		this.height = height;
	}

	public String getWeapon() {
		return weapon;
	}

	public void setWeapon(String weapon) {
		this.weapon = weapon;
	}

	public String getRace() {
		return race;
	}

	public void setRace(String race) {
		this.race = race;
	}

	@Override
	public String toString() {
		return "Person2 [name=" + name + ", height=" + height + ", weapon=" + weapon + ", race=" + race + "]";
	}

	public String skill() {
		if (this.name == "孙悟空") {
			return "七十二变";
		} else if (this.name == "唐僧") {
			return "紧箍咒";
		} else if (this.name == "白骨精") {
			return "九阴白骨爪";
		} else {
			return "其他";
		}
	}

	public boolean equals(Person2 p) {
		if ((this.race == "人族" || this.race == "仙族") && (p.getRace() == "人族" || p.getRace() == "仙族")) {
			return true;
		}
		return false;
	}
}

/**
 * super关键字
 * 
 * @author Administrator
 *
 */
class Test1 {
	Test1() {
		System.out.println("Test1");
	}
}

class Demo extends Test1 {
	Demo() {
		super();
		System.out.println("Demo");
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值