设计模式

来源:互联网 发布:高德导航端口检测工具 编辑:程序博客网 时间:2024/05/21 11:06

CanPlayDD.java:

package com.zking.entity;

public class CanPlayDD implements PlayDD{

    public void palyDD() {
        System.out.println("会打豆豆");
    }
}

JingJing.java

package com.zking.entity;

public class JingJing extends Student{

    private PlayDD playDD;
    
    public JingJing(){
        playDD=new CanPlayDD();
    }
    
    @Override
    public void playDD() {
        playDD.palyDD();
    }

}


LeiLei.java:

package com.zking.entity;

public class LeiLei extends Student{

    private PlayDD playDD;
    
    public LeiLei(){
        playDD=new CanPlayDD();
    }
    
    @Override
    public void playDD() {
        playDD.palyDD();
    }

}


MingMing.java:

package com.zking.entity;

public class MingMing extends Student{
    private PlayDD playDD;
    
    public MingMing(){
        playDD=new NoCanPlayDD();
    }
    
    @Override
    public void playDD() {
        playDD.palyDD();
    }
}


NoCanPlayDD.java:

package com.zking.entity;

public class NoCanPlayDD implements PlayDD{
    public void palyDD() {
        System.out.println("不会打豆豆");
    }
}


Person.java:

package com.zking.entity;

public class Person {
    private static Person person;
    private Person(){
        
    }
    
    public static Person newInstance(){
        if(person==null){
            person=new Person();
        }
        return person;
    }
    
}


PlayDD.java:

package com.zking.entity;

public interface PlayDD {
    public void palyDD();
}


Student.java:

package com.zking.entity;

public abstract class Student {
    public void eat() {
        System.out.println("吃饭");
    }
    public void sleep() {
        System.out.println("睡觉");
    }
    public abstract void playDD();
    
}