Professional Documents
Culture Documents
Lecture 1 OOP - Fundamentals
Lecture 1 OOP - Fundamentals
J. LLEVADO
Object oriented?
Definition
a computer programming model that
organizes software design around data, or
objects, rather than functions and logic
Object?
Real-world object
Constructs or idea
Also known as entity
Objects In software engineering
a data to store or process
An entity in a system
A Data type
Main Principles of OOP
Encapsulation
Abstraction
Inheritance
Polymorphism
Encapsulation
This principle states that all important
information is contained inside an object
and only select information is exposed.
Abstraction
Objects only reveal internal mechanisms
that are relevant for the use of other
objects, hiding any unnecessary
implementation code.
Inheritance
Classes can reuse code from other classes.
Relationships and subclasses between
objects can be assigned, enabling
developers to reuse common logic while
still maintaining a unique hierarchy.
Polymorphism
Objects are designed to share behaviors
and they can take on more than one form.
Programming Languages
Java
Ruby
Python
C++
PHP
…more
Programming Paradigms
Comparison of OOP and Procedural
Structured / Procedural Programming Object Oriented Programming
Code is divided into modules or functions Code is made up of classes and objects