લિસ્કોવ સબસ્ટિટ્યુશન સિદ્ધાંત (LSP) કહે છે કે સબટાઈપના ઑબ્જેક્ટ્સ તેમના બેઝ ટાઈપ માટે સબસ્ટિટ્યૂટેબલ હોવું જોઈએ પ્રોગ્રામની સાચીતાને તોડ્યા વિના. જો કોડ Base સાથે કામ કરે છે, તો તે કોઈપણ Subclass સાથે કામ કરવું જોઈએ — સમાન વર્તણૂક અપેક્ષાઓ, કોઈ આશ્ચર્ય નહીં.
શા માટે તે મહત્વપૂર્ણ છે
{
w, h;
{ .w = w; }
{ .h = h; }
{ w * h; }
}
{
{ .w = w; .h = w; }
{ .w = h; .h = h; }
}
{
r.setWidth();
r.setHeight();
r.area() == ;
}
