Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Liskov substitution principle
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Bibliography == === Specific references === {{refbegin}} * {{Cite conference| last1 = Liskov | first1 = B. | author-link1 = Barbara Liskov| title = Keynote address β data abstraction and hierarchy | doi = 10.1145/62138.62141| journal = OOPSLA '87: Addendum to the Proceedings on Object-oriented Programming Systems, Languages and Applications (Addendum) | year = 1987 | pages = 17β34 | isbn = 0897912667 }} A keynote address in which Liskov first formulated the principle. *{{cite book |first=B. |last=Meyer |title-link=Object-oriented Software Construction |title=Object-oriented Software Construction |publisher=Prentice Hall |date=1988 |isbn=0-13-629031-0 }} {{refend}} ===General reference=== {{refbegin}} *{{cite book |first1=Gary T. |last1=Leavens |first2=Krishna K. |last2=Dhara |author-link=Gary T. Leavens |chapter=Concepts of Behavioral Subtyping and a Sketch of Their Extension to Component-Bases Systems |editor-first=Gary T. |editor-last=Leavens |editor2-first=Murali |editor2-last=Sitaraman |title=Foundations of component-based systems |publisher=Cambridge University Press |date=2000 |isbn=0-521-77164-1 }} This paper surveys various notions of behavioral subtyping, including Liskov and Wing's. *{{Cite journal| last1 = Liskov | first1 = B. H. | author-link1 = Barbara Liskov| last2 = Wing | first2 = J. M. | author-link2 = Jeannette Wing| doi = 10.1145/197320.197383| title = A behavioral notion of subtyping| journal = [[ACM Transactions on Programming Languages and Systems|ACM Trans. Program. Lang. Syst.]]| volume = 16| issue = 6| pages = 1811β41| date=November 1994 | s2cid = 999172 | doi-access = free}}<br/>An updated version appeared: {{cite tech report |url=http://reports-archive.adm.cs.cmu.edu/anon/1999/CMU-CS-99-156.ps|title=Behavioral Subtyping Using Invariants and Constraints|last=Liskov|first=Barbara|author-link=Barbara Liskov|author2=Wing, Jeannette |author-link2=Jeannette Wing |date=July 1999 |publisher=Carnegie Mellon University |id=CMU-CS-99-156}} The formalization of the principle by its authors. *{{cite book |first=Reinhold |last=PlΓΆsch |title=Contracts, scenarios and prototypes: an integrated approach to high quality software |publisher=Springer |date=2004 |isbn=3-540-43486-0 }} Contains a gentler introduction to behavioral subtyping in its various forms in chapter 2. *{{cite web |author-link=Robert C. Martin |first=Robert C. |last=Martin |title=The Liskov Substitution Principle |date=March 1996 |work=C++ Report |url=http://www.objectmentor.com/resources/articles/lsp.pdf |archive-url=https://web.archive.org/web/20151128004108/http://www.objectmentor.com/resources/articles/lsp.pdf |archive-date=2015-11-28 }} An article popular in the object-oriented programming community that gives several examples of LSP violations. *{{cite book |first=Kazimir |last=Majorinc |chapter=Ellipse-Circle Dilemma and Inverse Inheritance |chapter-url= https://www.researchgate.net/publication/323457799 |pages=627β632 |title=ITI 98, Proceedings of the 20th International Conference of Information Technology Interfaces, Pula, 1998 |series=Information Technology Interfaces, 2009. Iti '09. Proceedings of the Iti 2009 31st International Conference on |issn=1330-1012 |oclc=894960131 }} This paper discusses LSP in the mentioned context. {{refend}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)