里氏替换原则(Liskov's Substitution Principle)
里氏替换原则(Liskov’s Substitution Principle) flyfish 解释
我们设计一个程序模块,我们创建一些类的层级结构,我们创建一些派生类以对类进行扩展 //违反里氏替换原则的代码示例,更改正方形的一个边,更改了矩形的长宽 class Rectangle
{
protected:
int m_width;
int m_height;
public:
void setWidth(int width){
m_width = width;
}
void setHeight(int height){
m_height = height;
}
int getWidth(){
return m_width;
}
int getHeight(){
return m_height;
}
int getArea(){
return m_width * m_height;
}
};
class Square :public Rectangle
{
public:
void setWidth(int width){
m_width = width;
m_height = width;
}
void setHeight(int height){
m_width = height;
m_height = height;
}
};
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |