Object-Oriented Programming

From Computer Science Wiki
Jump to: navigation, search
Object-Oriented Programming[1]

Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods.

A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self"). In OOP, computer programs are designed by making them out of objects that interact with one another. There is significant diversity of OOP languages, but the most popular ones are class-based, meaning that objects are instances of classes, which typically also determineObtain the only possible answer. their type.[2]

Why oop?

Object-oriented programming is another way of organizing the same properties, methods (functions), and events you work with in procedural languages.

  1. oop organizes projects into consistent and manageable pieces
  2. procedural programs are linear and can become hard to manage when programs gets bigger (scale up)
  3. oop introduces structure intended to avoid scaling and maintenance problems
  4. oop is abstract. Data and program structures are defined using a representation of meaning, while hiding the implementation itself. This allows for the use of human readable terminology to be used as part of the software.

Standards

I don't teach to the standards for OOP, as we don't cover OOP as a computer science option. However, as a guide for knowing, these standards are a decent-enough look. These standards come from the IB[3].


  • OutlineGive a brief account. the general nature of an object
  • DistinguishMake clear the differences between two or more concepts or items. between an object (definition, template or class) and instantiation
  • ConstructDevelop information in a diagrammatic or logical form. unified modelling language (UML) diagrams to represent object designs
  • InterpretUse knowledge and understanding to recognize trends and draw conclusions from given information. UML diagrams
  • DescribeGive a detailed account or picture of a situation, event, pattern or process. the process of decompositionSeparate into simpler constituents. into several related objects
  • DescribeGive a detailed account or picture of a situation, event, pattern or process. the relationships between objects for a given problem
  • OutlineGive a brief account. the need to reduce dependencies between objects in a given problem
  • ConstructDevelop information in a diagrammatic or logical form. related objects for a given problem
  • ExplainGive a detailed account including reasons or causes. the need for different data types to represent data items
  • DescribeGive a detailed account or picture of a situation, event, pattern or process. how data items can be passed to and from actions as parameters
  • DefineGive the precise meaning of a word, phrase, concept or physical quantity. the term encapsulation
  • DefineGive the precise meaning of a word, phrase, concept or physical quantity. the term inheritance
  • DefineGive the precise meaning of a word, phrase, concept or physical quantity. the term polymorphism
  • ExplainGive a detailed account including reasons or causes. the advantages of encapsulation
  • ExplainGive a detailed account including reasons or causes. the advantages of inheritance
  • ExplainGive a detailed account including reasons or causes. the advantages of polymorphism
  • DescribeGive a detailed account or picture of a situation, event, pattern or process. the advantages of libraries of objects
  • DescribeGive a detailed account or picture of a situation, event, pattern or process. the disadvantages of OOP
  • DiscussOffer a considered and balanced review that includes a range of arguments, factors or hypotheses. Opinions or conclusions should be presented clearly and supported by appropriate evidence. the use of programming teams
  • ExplainGive a detailed account including reasons or causes. the advantages of modularity in program development
  • DefineGive the precise meaning of a word, phrase, concept or physical quantity. the terms: class, identifier, primitive, instance variable, parameter variable, local variable
  • DefineGive the precise meaning of a word, phrase, concept or physical quantity. the terms: method, accessor, mutator, constructor, signature, return value
  • DefineGive the precise meaning of a word, phrase, concept or physical quantity. the terms: private, protected, public, extends, static
  • DescribeGive a detailed account or picture of a situation, event, pattern or process. the uses of the primitive data types and the reference class string
  • ConstructDevelop information in a diagrammatic or logical form. code to implement assessment statements
  • ConstructDevelop information in a diagrammatic or logical form. code examples related to selection statements
  • ConstructDevelop information in a diagrammatic or logical form. code examples related to repetition statements
  • ConstructDevelop information in a diagrammatic or logical form. code examples related to static arrays
  • DiscussOffer a considered and balanced review that includes a range of arguments, factors or hypotheses. Opinions or conclusions should be presented clearly and supported by appropriate evidence. the features of modern programming languages that enable internationalization
  • DiscussOffer a considered and balanced review that includes a range of arguments, factors or hypotheses. Opinions or conclusions should be presented clearly and supported by appropriate evidence. the ethical and moral obligations of programmers

References

  1. http://www.flaticon.com/
  2. https://en.wikipedia.org/wiki/Object-oriented_programming
  3. IB Diploma Programme Computer science guide (first examinations 2014). Cardiff, Wales, United Kingdom: International Baccalaureate Organization. January 2012.