JAVA OOP 第四章 接口

来源:互联网 发布:js给集合添加元素 编辑:程序博客网 时间:2024/06/14 08:38
package cn.happy1.cn;public class Data implements IFly{@Overridepublic void code() {System.out.println("code");}}

package cn.happy1.cn;public interface IFly {public void code();}

package cn.happy1.cn;public interface IWiter {public void debug();}

package cn.happy1.cn;public class Some implements IFly,IWiter{@Overridepublic void debug() {System.out.println("我会俩个 debug");}@Overridepublic void code() {System.out.println("wo shu code");}}

package cn.happy1.cn;public class Test {public static void main(String[] args) {// TODO Auto-generated method stub   IFly[] i=new IFly[2];   i[0]=new Some();   i[1]=new Data();   for(IFly item:i){   item.code();      }}}

=======================================================================================================================================================================
package cn.happy2.cn;public class Bird implements IFly{@Overridepublic void Fly() {}@Overridepublic void eat() {}}

package cn.happy2.cn;public interface IFly { void Fly(); void eat();}

package cn.happy2.cn;public class Main {public static void main(String[] args) {// TODO Auto-generated method stub}}

package cn.happy2.cn;public interface Utility {public void show();}

==============================================================================================================================================
package cn.happy3.cn;public abstract class Door {public abstract void open();public abstract void close();}

package cn.happy3.cn;public interface DoorBell {void takePictures();}

package cn.happy3.cn;public interface Lock {void lockup();void openLock();}

package cn.happy3.cn;public class Test {public static void main(String[] args) {// TODO Auto-generated method stubTheftproofDoor t=new TheftproofDoor();t.close();t.lockup();t.takePictures();t.openLock();t.open();}}

package cn.happy3.cn;public class TheftproofDoor extends Door implements Lock,DoorBell{@Overridepublic void lockup() {// TODO Auto-generated method stubSystem.out.println("插进钥匙,向左旋转3圈,锁上了,拔出钥匙");}@Overridepublic void openLock() {// TODO Auto-generated method stubSystem.out.println("插进钥匙,向优旋转3圈,锁打开了,拔出钥匙");}@Overridepublic void open() {// TODO Auto-generated method stubSystem.out.println("用力推,门打开了");}@Overridepublic void close() {// TODO Auto-generated method stubSystem.out.println("使劲关,门关上了");}@Overridepublic void takePictures() {// TODO Auto-generated method stubSystem.out.println("铃。。。。。。咔嚓。。。照片已储存");}}

================================================================================================================================================
package cn.happy4.cn;public class AptitudeHandset extends Handset implements Internet,PlayWiring{public AptitudeHandset(String Brand,String type){super(Brand,type);}@Overridepublic void inter() {// TODO Auto-generated method stubSystem.out.println("你已经启动了上网功能");}@Overridepublic void Play(String incontent) {// TODO Auto-generated method stubSystem.out.println("音乐");}@Overridepublic void sendinfo() {// TODO Auto-generated method stubSystem.out.println("发短信");}@Overridepublic void call() {// TODO Auto-generated method stubSystem.out.println("打电话");}@Overridepublic void info() {// TODO Auto-generated method stubSystem.out.println("手机类型为"+getType()+"手机品牌为"+getBrand());}}

package cn.happy4.cn;public class ComminHandset extends Handset implements PlayWiring{public ComminHandset(String Brand,String type){super(Brand,type);}@Overridepublic void sendinfo() {// TODO Auto-generated method stubSystem.out.println("发短信");}@Overridepublic void call() {// TODO Auto-generated method stubSystem.out.println("打电话");}@Overridepublic void info() {     System.out.println("手机类型为"+getType()+"手机品牌为"+getBrand());}@Overridepublic void Play(String incontent) {// TODO Auto-generated method stubSystem.out.println("正在播放音乐"+incontent);}}

package cn.happy4.cn;public abstract class Handset {private String type;//类型private String Brand;//品牌public Handset(){}public Handset(String type,String Brand){this.type=type;this.Brand=Brand;}public abstract void sendinfo();    public abstract void call();//打电话    public abstract void info();//描述手机public String getType() {return type;}public void setType(String type) {this.type = type;}public String getBrand() {return Brand;}public void setBrand(String brand) {Brand = brand;}}

package cn.happy4.cn;public interface Internet {public void inter();}

package cn.happy4.cn;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubHandset ha=new ComminHandset("G502c","索尼爱立信");ha.info();ha.call();System.out.println();AptitudeHandset hb=new AptitudeHandset("华为","dd");hb.info();hb.call();hb.inter();}}

package cn.happy4.cn;/** * 播放能力 * */public interface PlayWiring {void Play(String incontent);}

package cn.happy4.cn;public interface TheakPictures {public void Photos();}

========================================================================================================================================================================
package cn.happy5.cn;public class Computer {CPU cpu;EMS ems;HardDisk harddisk;public Computer(){}  public void showinfo(){System.out.println("计算机的信息如下:"+ "CPU的品牌是:"+cpu.getCPUBrand()+",主频是:"+cpu.getFrequency()+" GHz "+ "硬盘容量是:"+harddisk.getCapacity()+"内存容量是:"+ems.getSize()+"G");  /* System.out.println("CPU的品牌是:"+cpu.getCPUBrand()+",主频是:"+cpu.getFrequency()+"GHZ");System.out.println("硬盘容量是:"+harddisk.getCapacity());System.out.println("内存容量是:"+ems.getSize()+"G");*/}public Computer(CPU cpu, EMS ems, HardDisk harddisk) {super();this.cpu = cpu;this.ems = ems;this.harddisk = harddisk;}public void getCapacity(HardDisk harddisk) {this.harddisk=harddisk;}public void getSize(EMS ems) {this.ems=ems;}public void getCPUBrand(CPU cpu) {this.cpu=cpu;}public void getFrequency(CPU cpu) {this.cpu=cpu;}}

package cn.happy5.cn;public interface CPU {//品牌String getCPUBrand();//主频Float getFrequency();}

package cn.happy5.cn;public class CS implements CPU,EMS,HardDisk{@Overridepublic int getCapacity() {// TODO Auto-generated method stubreturn 100;}@Overridepublic String getEMSType() {// TODO Auto-generated method stubreturn "haha";}@Overridepublic int getSize() {// TODO Auto-generated method stubreturn 1000;}@Overridepublic String getCPUBrand() {// TODO Auto-generated method stubreturn "Inter";}@Overridepublic Float getFrequency() {// TODO Auto-generated method stubreturn (float)3.8;}}

package cn.happy5.cn;public interface EMS {//内存类型String getEMSType();//内存容量int getSize();}

package cn.happy5.cn;public interface HardDisk {//获取硬盘容量大小int getCapacity();}

package cn.happy5.cn;public class Test {public static void main(String[] args) {System.out.println("计算机的信息如下:");CPU cpu=null;EMS ems=null;HardDisk harddisk=null;     harddisk=new CS();     cpu=new CS();     ems=new CS();Computer computer=new Computer();computer.getCPUBrand(cpu);computer.getFrequency(cpu);computer.getSize(ems);computer.getCapacity(harddisk);computer.showinfo();}}

package cn.happy6.cn;public class A4Paper implements Paper {@Overridepublic String getSize() {// TODO Auto-generated method stubreturn "A4";}}

package cn.happy6.cn;public class B5Paper implements Paper{@Overridepublic String getSize() {// TODO Auto-generated method stubreturn "B5";}}

package cn.happy6.cn;public class ColorInkBox implements InkBox{@Overridepublic String getColor() {// TODO Auto-generated method stubreturn "彩色";}}

package cn.happy6.cn;public class GrayInkBox implements InkBox{@Overridepublic String getColor() {// TODO Auto-generated method stubreturn "黑白";}}

package cn.happy6.cn;public interface InkBox {public String getColor();}

package cn.happy6.cn;public interface Paper { public String getSize();}

package cn.happy6.cn;public class Printer {InkBox inkbox;Paper paper;public void print(){System.out.println("使用"+inkbox.getColor()+"墨盒在 "+paper.getSize()+"纸张上打印。");}public InkBox getInkbox() {return inkbox;}public Paper getPaper() {return paper;}public Printer() {super();// TODO Auto-generated constructor stub}public Printer(InkBox inkbox, Paper paper) {super();this.inkbox = inkbox;this.paper = paper;}public void setPaper(Paper paper) {this.paper = paper;}public void setInkBox(InkBox inkbox) {this.inkbox = inkbox;}}

package cn.happy6.cn;public class Test {public static void main(String[] args) {// TODO Auto-generated method stubInkBox inkbox=null;Paper paper=null;Printer printer=new Printer();inkbox =new GrayInkBox();paper=new A4Paper();printer.setInkBox(inkbox);printer.setPaper(paper);printer.print();inkbox=new ColorInkBox();paper=new B5Paper();printer.setInkBox(inkbox);printer.setPaper(paper);printer.print();paper=new A4Paper();printer.setPaper(paper);printer.print();}}


========================================================================================================================================================

package cn.happy7.cn;public interface Animal {void shout();}

package cn.happy7.cn;public class Cat implements Animal{@Overridepublic void shout() {System.out.println("W W!");}}

package cn.happy7.cn;public class Dog implements Animal{public void shout(){System.out.println("W W!");}}

package cn.happy7.cn;public class Pig implements Animal{public void shout() {System.out.println("pig");}}

package cn.happy7.cn;public class Store {public static Animal get(String choice){if(choice.equalsIgnoreCase("dog")){return new Dog();}else if(choice.equalsIgnoreCase("pig")){return new Pig();}else{return new Cat();}}}

package cn.happy7.cn;public class Test {public static void main(String[] args) {// TODO Auto-generated method stubAnimal al=Store.get("pig");al.shout();}}

=======================================================================================================================================================
package cn.happy8.cn;public class Dog extends Pet implements Eatable,FlyingDiscCatchable{public Dog() {super();// TODO Auto-generated constructor stub}@Overridepublic void catchingFlyDisc() {// TODO Auto-generated method stubsuper.love+=5;super.health-=10;System.out.println("狗狗"+super.name+"正在玩飞盘,与主人的亲密度:"+super.love+",健康值:"+super.health);}@Overridepublic void eat() {// TODO Auto-generated method stubsuper.health+=10;System.out.println("狗狗"+super.name+"正在吃饭,健康值:"+super.health);}public void print(){System.out.println("我的姓名为"+super.name+"与主人的亲密度:"+super.love+",健康值:"+super.health);}}

package cn.happy8.cn;public interface Eatable {//吃饭功能public abstract void eat();}

package cn.happy8.cn;public interface FlyingDiscCatchable {//接飞盘功能public abstract void catchingFlyDisc();}

package cn.happy8.cn;public class Penguin extends Pet implements Eatable,Swimmable{@Overridepublic void swim() {// TODO Auto-generated method stubsuper.love+=5;super.health-=10;System.out.println("企鹅"+super.name+"正在游泳,与主人的亲密度:"+super.love+",健康值:"+super.health);}@Overridepublic void eat() {// TODO Auto-generated method stubsuper.health+=10;System.out.println("企鹅"+super.name+"正在吃饭,健康值:"+super.health);}public void print(){System.out.println("我的姓名为"+super.name+"与主人的亲密度:"+super.love+",健康值:"+super.health);}public Penguin() {super();// TODO Auto-generated constructor stub}}

package cn.happy8.cn;public abstract class Pet {public String name;public int health;public int love;public abstract void print();}

package cn.happy8.cn;public interface Swimmable {//游泳功能public abstract void swim();}

package cn.happy8.cn;public class Test {public static void main(String[] args) {// TODO Auto-generated method stubDog dog=new Dog();Penguin penguin=new Penguin();penguin.name="啦啦";penguin.print();dog.name="闹闹";dog.print();dog.catchingFlyDisc();dog.eat();     }}

========================================================================================================


0 1
原创粉丝点击