ITEC30 Flashcards
it refers to a style of programming
programming paradigm
2 paradigm
imperative paradigm
declarative paradigm
2 programming paradigm
procedural programming paradigm
object oriented programming paradigm
most popular programming paradigm
object oriented programming paradigm
allows splitting those instructions into procedures
procedural programming
is a computer programming model that organizes software design around data or objects, rather than functions and logic
object oriented programming
is a programming paradigm that relies on the concept of classes and objects
object oriented programming
structure of object oriented programming
classes
objects
methods
attributes
user-defined data types that act as the blueprint for individual objects, attributes and methods
classes
instances of a class created with specifically defined data
objects
functions that defines inside a class that describe the behaviors of an objects
methods
defined in the class template and represent the state of an object
attribute
object oriented programming principle
abstraction
encapsulation
inheritance
polymorphism
objects only reveal internal mechanisms that are relevant for the use of other objects
abstraction
states that all important information is contained inside an object and only select information is exposed
encapsulation
classes can reuse code from other classes
inheritance
relationships and subclasses between objects can be assigned, enabling developers to reuse common logic while still maintaining a unique hierarchy
inheritance
is the ability for different objects to respond differently to the same message in objects oriented programming languages
polymorphism
credited as being the first object-oriented programming language
simula
popular Pure OOP Languages
ruby, scala, jade, emerald
programming languages designed primarily for OOP
java, python and c++
other programming languages that pair with OOP
visual basic .net
php
javascript
benefits of object oriented programming
modularity
reusability
productivity
easily upgradable and scalable
interface descriptions
security
flexibility