版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangshuaionline/article/details/86001540
设计模式六大原则
定义:所有使用父类的地方都必须可以使用其子类。
规定:
1.不能重写父类非抽象方法。
2.子类中可以增加自己的特性。
3.无论是重写还是重载,如与父类冲突,必须保证执行父类的方法。
特点:
1.能用子类的地方不一定能用父类
2.能用父类的地方一定能用子类
举例子:
创建一个家族:
public abstract class Family {
public void getSurname(){
Log.w("打印","此家族必须姓杨,不可修改!");
}
abstract public void getName();
}
创建个人:
public class Personal extends Family {
@Override
public void getName() {
Log.w("打印","个人可以自己修改名字!");
}
}
现在喊该家族的人,要有一个人来应答:
Family family = new Personal();
Log.w("打印","你姓什么?");
family.getSurname();
Log.w("打印","你的名字是?");
family.getName();
打印结果:
2019-01-07 15:03:14.699 W/打印: 你姓什么?
2019-01-07 15:03:14.700 W/打印: 此家族必须姓杨,不可修改!
2019-01-07 15:03:14.700 W/打印: 你的名字是?
2019-01-07 15:03:14.700 W/打印: 个人可以自己修改名字!
如果重写了getSurname()方法,就违背了里氏替换原则。