protected修饰的类,可以被继承,但不能被访问;修饰的方法,在其子类中能被改成
public修饰
依赖注入:属性注入,构造函数注入,普通函数注入。
核心思想是:不要去调我,我会去调你!
依赖注入是实现控制反转的方式之一
例子(属性注入):
void setAnimal(Animal animal){
this.animal=animal;
}
注入:
Tiger tiger=new Tiger();
obj.setAnimal(tiger);
(屏蔽new关键字)
工厂模式是消灭new关键字的另一种方法
如图所示:
常用的三种设计模式
单例模式
工厂模式
观察者模式
用户需求是决定抽象到底到何种程度的决定因素