Liskov Substitution Principle (LSP)

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Liskov Substitution Principle (LSP)
a. Propose a way to fix the problem in there.

public class Rectangle {
private int length;
private int breadth;
public int getLength () {
return length;
public class Square extends Rectangle {
@Override
public void setBreadth (int breadth) {
super.setBreadth (breadth);
super.setLength (breadth);
}
public void setLength (int length)
{
@Override
public void setLength (int length) {
super.setLength (length) ;
super.setBreadth(length);
this.length =
length;
}
public int getBreadth () {
return breadth;
Bad Design
}
}
public void setBreadth (int
breadth) {
public void calculateArea (Rectangle r) {
r.setBreadth (2) ;
r.setLength (3) ;
assert r. getArea ()
assert r.getLength (()
assert r.getBreadth ()
this.breadth = breadth;
}
public int getArea () {
== 6 : printError("area", r);
3 : printError ("length", r);
== 2 : printError ("breadth", r);
return this.length *
this.breadth;
}
Transcribed Image Text:public class Rectangle { private int length; private int breadth; public int getLength () { return length; public class Square extends Rectangle { @Override public void setBreadth (int breadth) { super.setBreadth (breadth); super.setLength (breadth); } public void setLength (int length) { @Override public void setLength (int length) { super.setLength (length) ; super.setBreadth(length); this.length = length; } public int getBreadth () { return breadth; Bad Design } } public void setBreadth (int breadth) { public void calculateArea (Rectangle r) { r.setBreadth (2) ; r.setLength (3) ; assert r. getArea () assert r.getLength (() assert r.getBreadth () this.breadth = breadth; } public int getArea () { == 6 : printError("area", r); 3 : printError ("length", r); == 2 : printError ("breadth", r); return this.length * this.breadth; }
Expert Solution
steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY