java与模式--里氏代换原则,依赖倒置原则

一里氏代换原则

1.基类可以出现的地方,子类也可以出现.

2.子类可以替换基类出现的替换,软件的功能行为不改变,则基类可以复用,子类可以扩展基类的功能。

3.例子
<1>正方形继承长方形。这是一种错误的继承方法.

比如:

if(f.getHeight()<=f.getWidth()){

f.setHeight(f.getWidth+1);

}

对于长方形,当高度小于宽度的时候,每次自加1.知道长度和宽度相当,程序停止.

当正方形继承长方形的时候,对于正方形,高度和宽度会一直递加。知道溢出。所有替换长方形的时候,软件的行为不对。所以不应该继承

<2>比如程序中有个表示文件名得字符串,有相应的读取文件名得方法等。我让fileName继承String(String是不可以继承的)。

行为:两个字符串相加还是一个字符串.

fileName类相加特到的不一定是合法的fileName类。对于String中很多适用的方法,对于fileName是不适用的,不能单单为了字符串而去继承.

二依赖倒置原则

1.要依赖于抽象,而不依赖于具体

2.针对抽象编程,而不是针对具体

3.类型的声明:成员变量,局域变量,方法的参数,方法的返回,类型的声明应该使用java接口

4.具体类应该只给出java接口和java抽象类中的方法,而不应该给出多余的方法.

你可能感兴趣的:(java)