Java-设计模式(Adapter适配器模式)-抽象类写法
package org.jzkangta.demo; abstract class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Person(String name,int age) { this.setName(name); this.setAge(age); } public abstract String getSay(); public void say() { System.out.println(this.getSay()); } } class Worker extends Person { private float money; public float getMoney() { return money; } public void setMoney(float money) { this.money = money; } public Worker(String name,int age,float money) { super(name,age); this.setMoney(money); } public String getSay() { return "我是一个工人,我的名字是:"+super.getName()+",年龄:"+super.getAge()+",工资:"+this.getMoney(); } } class Student extends Person { private float score; public float getScore() { return score; } public void setScore(float score) { this.score = score; } public Student(String name,int age,float score) { super(name,age); this.setScore(score); } public String getSay() { return "我是一个学生,我的名字是:"+super.getName()+",年龄:"+super.getAge()+",成绩:"+this.getScore(); } } public class Demo { /** * @param args */ public static void main(String[] args) { //Person p=new Worker("zhangsan",12,3000); Person p=new Student("lisi",18,90); p.say(); } }
Java-设计模式(Adapter适配器模式)-接口写法
package org.jzkangta.demo02; interface Eat { public void eatBread(); public void eatApple(); public void eatBanana(); } abstract class PersonEat implements Eat { public void eatBread() { } public void eatApple(){} public void eatBanana(){} } class Person extends PersonEat { public void eatBread() { System.out.println("我在吃面包"); } public void eatApple() { System.out.println("我在吃苹果"); } } public class Demo02 { /** * @param args */ public static void main(String[] args) { Person p=new Person(); p.eatBread(); p.eatApple(); } }