(2)设计模式:面向对象

来源:互联网 发布:linux 程序的守护进程 编辑:程序博客网 时间:2024/06/05 18:32

(2)设计模式:面向对象

 (1)问题域有哪些类
名词
 (2)属性
     不可脱离具体的应用环境
 (3)方法
 (4)类之间的关系
 (5)隐藏(封装)
 (6)继承:继承就是为了多态
 (7)多态:面向对象的核心,带来了可扩展性,比如扩展交通工具
 继承,重写,父类指向子类对象
 
 接口和抽象类的区别:
 有一个概念,没有一个具体的东西,用抽象类;
 考虑一类事务的共同的特征,会飞的,会跑的,用接口
 
 OO思想慢慢来
 封装继承和多态
 设计层层无止境
 适可而止乐开怀

public class Address {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public Address(String name) {super();this.name = name;}}


public class Broom extends Vihecle {@Overridepublic void go(Address dest) {System.out.println("一路扫着土去了" + dest.getName());}}


public class Car extends Vihecle{public void go(Address dest) {System.out.println("一路哼着歌,冒着烟,去了" + dest.getName());}}

public class Driver {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public void drive(Vihecle v) {v.go(new Address("东北"));}public void drive(Car c, Address dest) {c.go(dest);}}

public class Plane extends Vihecle{public void go(Address dest) {System.out.println("一路扇着翅膀,去了" + dest.getName());}}


public abstract class Vihecle {public abstract void go(Address dest);}


public class Test {public static void main(String[] args) {Driver d = new Driver();d.setName("老张");d.drive(new Broom());}}






0 0
原创粉丝点击