案例讲解

(1)设计一个User类,其中包括用户名、口令等属性以及构造方法(至少重载2个)。获取和设置口令的方法,显示和修改用户名的方法等。编写应用程序测试User类。

public class OOPDemo01 {
    public static void main(String[] args) {
        User u = new User("张三","231");
        System.out.println(u.getUserName());
        System.out.println(u.getPassword());
    }
}
class User{
    public String userName;
    public String password;

    public User() {
    }

    public User(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

 

(2)定义一个Student类.其中包括用户名、密码、姓名、性别、出生年月等属行以及init)——初始化各属性、display()——显示各属性、modify()——修改姓名等方法。实现并测试这个类。

public class OOPDemo02 {
    public static void main(String[] args) {
        Student s = new Student();
        s.init("芜湖","123","张三","男","12350");
        s.display();
        s.modify("李四");
        s.display();
    }
}
class Student{
    private String userName;
    private String passWord;
    private String name;
    private String gender;
    private String birth;

    public void display() {
        System.out.println("userName='" + this.userName + '\'' +
                ", passWord='" + this.passWord + '\'' +
                ", name='" + this.name + '\'' +
                ", gender='" + this.gender + '\'' +
                ", birth='" + this.birth + '\'');
    }

    public void init(String userName, String passWord, String name, String gender, String birth) {
        this.userName = userName;
        this.passWord = passWord;
        this.name = name;
        this.gender = gender;
        this.birth = birth;
    }

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

 

 (3)从上题的Student类中派生出Granduate(研究生)类,添加属性:专业subject、导师adviser。重载相应的成员方法。并测试这个类。

public class OOPDemo02 {
    public static void main(String[] args) {
        Granduate g = new Granduate();
        g.init("芜湖","123","张三","男","12350","电子专业","*****");
        g.display();
        g.modify("aaq");
        g.display();
    }
}
class Student{
    public String userName;
    public String passWord;
    public String name;
    public String gender;
    public String birth;

    public void display() {
        System.out.println("userName='" + this.userName + '\'' +
                ", passWord='" + this.passWord + '\'' +
                ", name='" + this.name + '\'' +
                ", gender='" + this.gender + '\'' +
                ", birth='" + this.birth + '\'');
    }

    public void init(String userName, String passWord, String name, String gender, String birth) {
        this.userName = userName;
        this.passWord = passWord;
        this.name = name;
        this.gender = gender;
        this.birth = birth;
    }

    public void modify(String name){
        this.name = name;
    }
}
class Granduate extends Student{
    public String subject;
    public String adviser;
    /*
    重载的init方法实现子类成员变量的初始化和父类中的成员变量的初始化操作
     */
    public void init(String userName, String passWord, String name, String gender, String birth,String subject,String adviser) {
        super.init(userName, passWord, name, gender, birth);
        this.subject = subject;
        this.adviser = adviser;
    }


    public void display() {
        System.out.println("userName='" + this.userName + '\'' +
                ", passWord='" + this.passWord + '\'' +
                ", name='" + this.name + '\'' +
                ", gender='" + this.gender + '\'' +
                ", birth='" + this.birth + '\''+
                ", subject='" + this.subject + '\'' +
                ", adviser='" + this.adviser + '\'');
    }
}

 

 

(4)编写一个汽车类Car

编写一个宝马类BMW继承Car

编写一个奔驰类Benz继承Car

在三个类中都有一个run方法,表示不同车在跑

编写一个人类Person,不同的对象有不同的车

public class OOPDemo03 {
    public static void main(String[] args) {
        Car c = new Car();
        BMW b = new BMW();
        Benz z = new Benz();
        Person per = new Person(c);
        Person per1 = new Person(b);
        Person per2 = new Person(z);
        
    }
}
class Car{
    public void run(){
        System.out.println("汽车在跑...");
    }
}

class BMW extends Car{
    @Override
    public void run() {
        System.out.println("宝马车在跑中...");
    }
}

class Benz extends Car{
    @Override
    public void run() {
        System.out.println("奔驰车在跑中....");
    }
}

/*
不同的对象有不同的车
 */
class Person{

    public Car car;

    public Person(Car car){
        this.car=car;
    }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2022-06-16 20:01  魔光领域  阅读(107)  评论(0编辑  收藏  举报