Lesson14_设计模式_OO终结

36 篇文章 0 订阅
33 篇文章 0 订阅

Lesson14_设计模式_OO终结

回顾

抽象类

  • abstract
  • 不可以创建对象
  • 抽象方法 ==> 抽象类

模板方法

  • 一套流程(有步骤)

接口

  • interface 关键字声明一个接口

  • 表示能力 \ 制定规范(“做什么”)

  • 属性全是public static final修饰

  • 方法全是public abstract修饰

  • JDK8开始可以有default和static修饰的带有方法体的方法

类和类是单继承 A extends B

类和接口是多实现 A implements IB,IC,ID

接口和接口是多继承 IA extends IB,IC,ID

简单工厂

*工厂方法

*抽象工厂模式

创建对象,把创建对象使用对象进行解耦。

对象使用者只需要和工厂打交道即可。

如果有了新的对象类型产生,只需要修改工厂即可。

// 简单工厂类
public class GFFactory {
    // 工厂方法
    public static BaseGF createGF(String gfType){
        switch(gfType){
            case "山东":
                return new ShandongGF();
            case "四川":
                return new SzechwanGF();
            case "广东":
                return new GuangdongGF();
            default:
                System.err.println("商品已售罄");
                return null;
        }
    }
}
public class FruitFactory {

    public static Fruit generateFruit(String name){
        switch(name){
            case "苹果":
                return new Apple("红富士");
            case "香蕉":
                return new Banana("帝王蕉");
            case "橙子":
                return new Orange("甜橙");
            default:
                System.err.println("该水果已下架");
                return null;
        }
    }
}

策略模式

算法封装成,让这些算法类实现相同的父类型,从而在计算过程中具备可替换性。

*残剑的博客——类与类之间的关系

*多态的9个题

内部类

自动拆装箱

枚举

3S StringBuilder

常用类

Date

SimpleDateFormat

Calendar

Math

Random

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值