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");
}
}
面向对象-练习-2021-02-02-01
最新推荐文章于 2024-07-15 15:40:07 发布