Java day_05 重构、继承

Number

package day_05.Number;

public class Number {
    private int num1;
    private int num2;

    public Number() {
    }

    public Number(int num1, int num2) {
        this.num1 = num1;
        this.num2 = num2;
    }

    public int add(){
        return num1+num2;
    }

    public int sub(){
        return num1-num2;
    }

    public int multi(){
        return num1*num2;
    }

    public int div(){
        return num1/num2;
    }

    public int getNum1() {
        return num1;
    }

    public int getNum2() {
        return num2;
    }

    public void setNum1(int num1) {
        this.num1 = num1;
    }

    public void setNum2(int num2) {
        this.num2 = num2;
    }
    public String toStirng(){
        return "Number [num1=" + num1 + ", num2=" + num2 + "]";
    }
}

NumberMain

package day_05.Number;

import day_05.Number.Number;

public class NumberMainTest {
    public static void main(String[] args) {
        Number number=new Number(3,6);
        System.out.println(number.add());
        number.setNum1(40);
        number.setNum2(20);
        System.out.println(number.div());
    }
}

Person

package day_05.PerStuTea;

public class Person {
    protected int id;
    protected String name;
    protected int age;

    public Person() {
    }

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

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

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

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

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

    protected void show(){
        System.out.println("这是一个人!");
    }

}

Student

package day_05.PerStuTea;

import day_05.PerStuTea.Person;

public class Student extends Person {
    int id;
    String name;
    int age;
    String className;

    //    构造函数
    public Student() {
    }

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

    //    Setter
    public void setId(int id) {
        this.id = id;
    }

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

    public void setAge(int age) {
        if (age >0&&age<120){
            this.age = age;
        }
    }

    public void setClassName(String className) {
        this.className = className;
    }

    //    Getter
    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getClassName() {
        return className;
    }

    public void study(){

        System.out.println(className+"班的"+name+"正在学习!");
    }

    public String toStirng(){

        return "Student [id="+id+",name="+name+",age="+age+",className="+className+"]";
    }
}

PerStuMain

package day_05.PerStuTea;

public class mainPerStuTea {
    public static void main(String[] args) {
        Teacher teacher=new Teacher();
        Student student=new Student();
        teacher.show();
        teacher.teach();
        student.show();
        student.study();
    }
}

StudentManger改进版

package day_05.PerStuTea;

import day_04.Student;

import java.util.Scanner;

public class StudentManager {
    public static void main(String[] args) {

//        输入学生信息
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生个数:");
        int count = scanner.nextInt();
        Student[] students = new Student[count];
        for (int i = 0; i < students.length; i++) {
            System.out.println("请输入学生id:");
            int id = scanner.nextInt();
            System.out.println("请输入学生name:");
            String name = scanner.next();
            System.out.println("请输入学生age:");
            int age = scanner.nextInt();
            System.out.println("请输入学生班级:");
            String className = scanner.next();
            Student student = new Student(id, name, age, className);
            students[i] = student;
        }

//        打印全部学生信息
        System.out.println("学生信息列表:");
        for (int i = 0; i < students.length; i++) {
            Student student = students[i];
            System.out.println(student);    //student对象地址
        }

        while (true) {
            System.out.println("----------------------------");
            System.out.println("根据id查找: 1");
            System.out.println("根据name查找: 2");
            System.out.println("根据age查找: 3");
            System.out.println("根据className查找: 4");
            System.out.println("退出程序: 0");
            System.out.println("----------------------------");
            int type = scanner.nextInt();
            if (type == 0) {
                System.out.println("退出程序.");
                return;
            }
            switch (type) {
                case 1:
                    System.out.println("id");
                    System.out.println("输入要查找的id:");
                    int id = scanner.nextInt();
                    boolean isSearchByIdFind = false;
                    for (int i = 0; i < students.length; i++) {
                        Student student = students[i];
                        if (id == student.getId()) {
                            System.out.println(student);
                            isSearchByIdFind = true;
                        }

                    }
                    if (!isSearchByIdFind) {
                        System.out.println("没有该学生信息.");
                    }
                    break;
                case 2:
                    System.out.println("name");
                    System.out.println("输入要查找的name:");
                    String name = scanner.next();
                    boolean isSearchByNameFind = false;
                    for (int i = 0; i < students.length; i++) {
                        Student student = students[i];
                        if (name.equals(student.getName())) {
                            System.out.println(student);
                            isSearchByNameFind = true;
                        }
                    }
                    if (!isSearchByNameFind) {
                        System.out.println("没有该学生信息.");
                        return;
                    }
                    break;
                case 3:
                    System.out.println("age");
                    System.out.println("请输入学生年龄:");
                    int age = scanner.nextInt();
                    boolean isSearchByAgeFind = false;
                    for (int i = 0; i < students.length; i++) {
                        Student student = students[i];
                        if (age == student.getAge()) {
                            System.out.println(student);
                            isSearchByAgeFind = true;
                        }
                    }
                    if (!isSearchByAgeFind) {
                        System.out.println("没有该学生信息");
                    }
                    break;
                case 4:
                    System.out.println("className");
                    System.out.println("请输入学生班级:");
                    String className = scanner.next();
                    boolean isSearchByClassNameFind = false;
                    for (int i = 0; i < students.length; i++) {
                        Student student = students[i];
                        if (className.equals(student.getClassName())) {
                            System.out.println(student);
                            isSearchByClassNameFind = true;
                        }
                    }
                    if (!isSearchByClassNameFind) {
                        System.out.println("没有该学生信息");
                    }
                    break;
                default:
                    break;
            }
        }
    }

    //    重构根据id查找学生信息
    public static void searchById(Student[] students, int id) {
        boolean isSearchByIdFind = false;
        for (int i = 0; i < students.length; i++) {
            Student student = students[i];
            if (id == student.getId()) {
                System.out.println(student);
                isSearchByIdFind = true;
            }
        }
        if (isSearchByIdFind == false) {
            System.out.println("没有该学生信息");
        }
    }

    //    重构打印所有学生信息
    private static void printStudents(Student[] students) {
        System.out.println("学生列表信息:");
        for (int i = 0; i < students.length; i++) {
            Student student = students[i];
            System.out.println(student);
        }
    }

    //    重构输入学生信息
    private static void inputStudents(Student[] students) {
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < students.length; i++) {
            System.out.println("请输入学生的id:");
            int id = scanner.nextInt();
            System.out.println("请输入学生的名字:");
            String name = scanner.next();
            System.out.println("请输入学生的年龄:");
            int age = scanner.nextInt();
            System.out.println("请输入学生班级:");
            String className = scanner.next();
            Student student = new Student(id, name, age, className);
            students[i] = student;
        }
    }
}

Point

package day_05.Point;

public class Point {
    private int x;
    private int y;
    public Point() {
    }
    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public void movePoint(int dx, int dy) {
        this.x += dx;
        this.y += dy;
    }

    public void setX(int x) {
        this.x = x;
    }

    public void setY(int y) {
        this.y = y;
    }

    public int getX() {
        return x;
    }

    public int getY() {
        return y;
    }
}

PointMain

package day_05.Point;

import day_05.Point.Point;

public class PointMainTest {
    public static void main(String[] args) {
        Point point=new Point(1,1);
        System.out.println("("+point.getX()+","+point.getY()+")");
        point.movePoint(2,3);
        System.out.println("("+point.getX()+","+point.getY()+")");
    }
}

Rectangle

package day_05.Rectangle;

public class Rectangle {
    private int width;
    private int height;

    public Rectangle() {
        this.width=1;
        this.height=1;
    }

    public Rectangle(int width) {
        this.width = width;
        this.height=width;
    }

    public Rectangle(int width, int height) {
        this.width = width;
        this.height = height;
    }
    public int zhouchang(){
        return 2*(width+height);
    }

    public int mianji(){
        return width*height;
    }

    public int getWidth() {
        return width;
    }

    public int getHeight() {
        return height;
    }

    public void setWidth(int width) {
        this.width = width;
    }

    public void setHeight(int height) {
        this.height = height;
    }
    @Override
    public String toString(){
        return "Rect [width=" + width + ", height=" + height + "]";
    }
}

RectangleMain

package day_05.Rectangle;

import day_05.Rectangle.Rectangle;

public class RectangleMainTest {
    public static void main(String[] args) {
        Rectangle rectangle=new Rectangle(4);
        System.out.println(rectangle.zhouchang());
        System.out.println(rectangle.mianji());
        System.out.println(rectangle.toString());
    }
}

Vehicle

package day_05.Vehicle;

public class Vehicle {
    private double speed;
    private double size;

    public Vehicle() {
    }

    public Vehicle(double speed, double size) {
        this.speed = speed;
        this.size = size;
    }

    public void move(){
        System.out.println("speed:"+speed);
    }

    public void speedUp(double up){
        speed+=up;
    }

    public void speedDown(double down){
        speed-=down;
    }

    public double getSpeed() {
        return speed;
    }

    public double getSize() {
        return size;
    }

    public void setSpeed(double speed) {
        this.speed = speed;
    }

    public void setSize(double size) {
        this.size = size;
    }

    public String show(){
        return "Vehicle[speed=]"+speed+",size="+size+"]";
    }
}

VehicleMain

package day_05.Vehicle;

public class VehicleMainTest {
    public static void main(String[] args) {
        Vehicle vehicle=new Vehicle();
        vehicle.setSize(10);
        vehicle.setSpeed(100);
        System.out.println(vehicle.getSpeed());
        vehicle.speedUp(10);
        System.out.println(vehicle.getSpeed());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值