FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://en.wikipedia.org/wiki/Object-oriented_software_engineering

Object-oriented programming

UML notation for a class. This Button class has variables for data, and functions. Through inheritance, a subclass can be created as a subset of the Button class. Objects are instances of a class.

Object-oriented programming (OOP) is a programming paradigm based on objects – software entities that encapsulate data and function(s).public). Some languages like Python don't provide a visibility feature, but developers might follow a convention such as starting a private member name with an underscore. Intermediate levels of access also exist, such as Java's Employee class might inherit from a fruit, you can make two objects fruit prototype. Prototype-based languages also allow objects to have their own unique properties, so the orange or Address object, along with other information like circle, shopping cart,

Design Patterns: Elements of Reusable Object-Oriented Software is a famous book published in 1994 by four authors: Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. People often call them the "Gang of Four". The book talks about the strengths and weaknesses of OOP and explains 23 common ways to solve programming problems.

These solutions, called "design patterns," are grouped into three types:

Object-orientation and databases

edit
  1. 1 2 3 4 Kay, Dr. Alan (23 July 2003). "Dr. Alan Kay on the Meaning of "Object-Oriented Programming"". Archived from the original on 4 March 2025. Retrieved 11 February 2010.
  2. ↑ McCarthy, J.; Brayton, R.; Edwards, D.; Fox, P.; Hodes, L.; Luckham, D.; Maling, K.; Park, D.; Russell, S. (March 1969). "LISP I Programmers Manual" (PDF). Computation Center and Research Laboratory of Electronics. Boston, Massachusetts: Artificial Intelligence Group, M.I.T. Computation Center and Research Laboratory: 88f. Archived from the original (PDF) on 17 July 2010. In the local M.I.T. patois, association lists [of atomic symbols] are also referred to as "property lists", and atomic symbols are sometimes called "objects".
  3. ↑ Holmevik, Jan Rune (Winter 1994). "Compiling Simula: A historical study of technological genesis" (PDF). IEEE Annals of the History of Computing. 16 (4): 25–37. doi:10.1109/85.329756. S2CID 18148999. Archived from the original (PDF) on 30 August 2017. Retrieved 3 March 2018.
  4. ↑ Jones, Anita K.; Liskov, Barbara H. (April 1976). An Access Control Facility for Programming Languages (PDF) (Technical report). MIT. CSG Memo 137. Archived from the original (PDF) on 26 February 2026.
  5. 1 2 Borning, Alan Hamilton (1979). Thinglab: a constraint-oriented simulation laboratory (PDF) (Report). Stanford University.
  6. ↑ Bobrow, D. G.; Stefik, M. J (1982). LOOPS: data and object oriented Programming for Interlisp (PDF). European AI Conference.
  7. ↑ Meyer 1997.
  8. ↑ 1995 (June) Visual FoxPro 3.0, FoxPro evolves from a procedural language to an object-oriented language. Visual FoxPro 3.0 introduces a database container, seamless client/server capabilities, support for ActiveX technologies, and OLE Automation and null support. Summary of Fox releases
  9. ↑ 1995 Reviewers Guide to Visual FoxPro 3.0: DFpug.de
  10. ↑ ISBN 0-12-633951-1, p. 470. Lists encapsulation, inheritance, and dynamic dispatch.
  11. ↑ Jacobsen, Ivar; Christerson, Magnus; Jonsson, Patrik; Overgaard, Gunnar (1992). Object Oriented Software Engineering. Addison-Wesley ACM Press. pp. 43–69. ISBN 978-0-201-54435-0.
  12. 1 2 3 Raymond, Eric S. (2003). "The Art of Unix Programming: Unix and Object-Oriented Languages". Archived from the original on 15 September 2014. Retrieved 6 August 2014.
  13. ↑ "Is Go an object-oriented language?". Archived from the original on 13 April 2019. Retrieved 13 April 2019. Although Go has types and methods and allows an object-oriented style of programming, there is no type hierarchy.
  14. ↑ Naik, Mayur; Kumar, Rajeev (March 2000). "Efficient message dispatch in object-oriented systems". ACM SIGPLAN Notices. 35 (3): 49–58. doi:10.1145/351159.351174.
  15. ↑ Booch, Grady (1986). Software Engineering with Ada. Addison Wesley. p. 220. ISBN 978-0-8053-0608-8. Perhaps the greatest strength of an object-oriented approach to development is that it offers a mechanism that captures a model of the real world.
  16. ↑ Yegge, Steve (30 March 2006). "Execution in the Kingdom of Nouns". steve-yegge.blogspot.com. Retrieved 3 July 2010.
  17. ↑ Martin, Robert C. "Design Principles and Design Patterns" (PDF). Archived from the original (PDF) on 6 September 2015. Retrieved 28 April 2017.
  18. ↑ Karsh, Patrick (19 July 2023). "GRASP Principles: Object-Oriented Design Patterns". Medium. Retrieved 30 March 2025.
  19. ↑ Tan, Tian; Li, Yue (12 July 2023). Tai-e: A Developer-Friendly Static Analysis Framework for Java by Harnessing the Good Designs of Classics. ISSTA 2023. pp. 1093–1105. doi:10.1145/3597926.3598120.
  20. ↑ Cassel, David (21 August 2019). "Why Are So Many Developers Hating on Object-Oriented Programming?". The New Stack.
  21. ↑ 3.0.CO;2-P"},"s2cid":{"wt":"57865731"}},"i":0}}]}'/>Potok, Thomas; Vouk, Mladen; Rindos, Andy (1999). "Productivity Analysis of Object-Oriented Software Developed in a Commercial Environment" (PDF). Software: Practice and Experience. 29 (10): 833–847. doi:10.1002/(SICI)1097-024X(199908)29:10<833::AID-SPE258>3.0.CO;2-P. S2CID 57865731. Retrieved 21 April 2010.
  22. 1 2 Pike, Rob (25 June 2012). "Less is exponentially more". Retrieved 1 October 2016.
  23. ↑ Shelly, Asaf (22 August 2008). "Flaws of Object Oriented Modeling". Intel Software Network. Retrieved 4 July 2010.
  24. ↑ Harper, Robert (17 April 2011). "Some thoughts on teaching FP". Existential Type Blog. Archived from the original on 6 November 2011. Retrieved 5 December 2011.
  25. ↑ Feldman, Richard (30 September 2019). "Why Isn't Functional Programming the Norm?". Archived from the original on 22 August 2022 – via YouTube.
  26. ↑ Abelson, Harold; Gerald Jay Sussman (1997). Structure and Interpretation of Computer Programs. MIT Press. ISBN 978-0-262-01153-2. Archived from the original on 26 December 2017. Retrieved 22 January 2006.
  27. Booch, Grady (1997). Object-Oriented Analysis and Design with Applications. Addison-Wesley. ISBN 978-0-8053-5340-2.
  28. Harmon, Paul; Morrissey, William (1996). The Object Technology Casebook – Lessons from Award-Winning Business Applications. John Wiley & Sons. ISBN 978-0-471-14717-6.
  29. Meyer, Bertrand (1997). Object-Oriented Software Construction. Prentice Hall. ISBN 978-0-13-629155-8.
  30. Schach, Stephen (2006). Object-Oriented and Classical Software Engineering, Seventh Edition. McGraw-Hill. ISBN 978-0-07-319126-3.
  31. Weisfeld, Matt (2009). The Object-Oriented Thought Process, Third Edition. Addison-Wesley. ISBN 978-0-672-33016-2.
  32. Commons
International
National
Other

View original on Wikipedia | Back | FazBrowse Home