面向对象(封装,继承,多态)

封装

封装一个Teacher和Student类

package com.hz.test;

public class Teacher {

    private String name;
    private String majorDirection;
    private String teachCourse;
    private int teachAge;

    public Teacher() {
        super();
    }

    public Teacher(String name,String majorDirection,String teachCourse,int teachAge) {
        this.name = name;
        this.majorDirection = majorDirection;
        this.teachCourse = teachCourse;
        this.teachAge = teachAge;
    }
    public String getName() {
        return name;
    }

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


    public String getMajorDirection() {
        return majorDirection;
    }

    public void setMajorDirection(String majorDirection) {
        this.majorDirection = majorDirection;
    }


    public String getTeachCourse() {
        return teachCourse;
    }


    public void setTeachCourse(String teachCourse) {
        this.teachCourse = teachCourse;
    }


    public int getTeachAge() {
        return teachAge;
    }


    public void setTeachAge(int teachAge) {
        this.teachAge = teachAge;
    }




    public String toString() {
        return "姓名=" + getName() + ", 专业方向=" + getMajorDirection()
                + ", 所教课程=" + getTeachCourse() + ", 教龄=" + getTeachAge();
    }
}

Student类

package com.hz.test;

import java.util.Arrays;

/**
 * @author ztw
 *
 */
public class Student {


    private String name;
    private int age;
    private String[] courses;
    private String interest;

    public Student() {
        super();
    }

    public Student(String name,int age,String[] courses,String interest) {
        this.name = name;
        this.age = age;
        this.courses = courses;
        this.interest = interest;
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }

    public void setAge(int age){
        if(age<0){
            System.out.println("年龄不能为负值");
        }else{
            this.age = age;
        }
    }
    public int getAge(){
        return age;
    }

    public void setCourses(String[] courses){
        this.courses = courses;
    }
    public String getCourses(){
        return Arrays.toString(courses);
    }

    public void setInterest(String interest){
        this.interest = interest;
    }
    public String getInterest(){
        return interest;
    }

    public String toString() {
        return "姓名=" + getName() + ", 年龄=" + getAge() + ", 课程=" + getCourses()
                + ", 兴趣=" + getInterest();
    }   
}

测试类

package com.hz.test;

public class Test {

    public static void main(String[] args) {
        String arr[] = {"阿斯达","是的","大概","太诱惑"};
        Student stu = new Student("张三",21,arr,"打球");
        Teacher tea = new Teacher("王五","阿斯达","阿斯达",99);
        System.out.println(stu);
        System.out.println(tea);
    }
}

输出结果:

  • 姓名=张三, 年龄=21, 课程=[阿斯达, 是的, 大概, 太诱惑], 兴趣=打球
  • 姓名=王五, 专业方向=阿斯达, 所教课程=阿斯达, 教龄=99

继承

定义Play,TaoistPriest,Master,Warrior

public class Play {

    String main;

    public Play(String main) {
        this.main = main;
    }
    public void hitMonster() {

        System.out.println(main+"打怪");
    }
}
/**
 * TaoistPriest:道士
 * @author ztw
 *
 */
public class TaoistPriest extends Play {

    {
        System.out.print("我是道士:");
    }
    public TaoistPriest(String main) {
        super(main);
    }
}
/**
 * Master:法师
 * @author ztw
 *
 */
public class Master extends Play{

    {
        System.out.print("我是法师:");
    }
    public Master(String main) {
        super(main);

    }
}
/**
 * Warrior:武士
 * @author ztw
 *
 */
public class Warrior extends Play{

    {
        System.out.print("我是武士:");
    }
    public Warrior(String main) {
        super(main);

    }
}

测试类

public class Test {

    public static void main(String[] args) {
        TaoistPriest tp = new TaoistPriest("灵魂火符");
        tp.hitMonster();
        Master m = new Master("雷电术");
        m.hitMonster();
        Warrior w = new Warrior("烈火术");
        w.hitMonster();
    }
}
  • 输出结果:

我是道士:灵魂火符打怪
我是法师:雷电术打怪
我是武士:烈火术打怪

多态

服务器,客户端交互

LoginListener
public interface LoginListener {

    public void succeed(String msg);

    public void failed(String msg);
}
MyLoginListener
public class MyLoginListener implements LoginListener{

    public void succeed(String msg) {
        System.out.println(msg);

    }

    public void failed(String msg) {
        System.out.println(msg);

    }
}
Server
public class Server {

    public void login(String userName,String password,LoginListener listener) {
        System.out.print("loading");
        for (int i = 0; i < 10; i++) {
            try {
                Thread.sleep(100*i);
                System.out.print(".");
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if(userName.equals("zhangsan") && password.equals("123")){
            if(listener!=null){
                listener.succeed("登录成功");
            }
        }else{
            if(listener!=null){
                listener.succeed("登录失败");
            }
        }

    }
}

测试类

public class LoginTest {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入用户名:");
        String userName = sc.next();
        System.out.println("请输入用户密码:");
        String password = sc.next();

        Server server = new Server();
        server.login(userName, password, new MyLoginListener());

    }
}
  • 输出结果

请输入用户名:
zhangsan
请输入用户密码:
123
loading……….登录成功

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值