Paradigma Orientado A Objetos
Objetos
1
Paradigma
2
Paradigma
Un paradigma es un determinado marco
desde el cual miramos el mundo, lo
comprendemos, lo interpretamos e
intervenimos sobre él. Abarca desde el
conjunto de conocimientos científicos que
imperan en una época determinada hasta
las formas de pensar y de sentir de la
gente en un determinado lugar y momento
histórico.
3
Paradigma
AdamSmith define paradigma, en su libro
“Los poderes de la mente”, como “un
conjunto compartido de suposiciones. Es
la manera como percibimos el mundo:
agua para el pez. El paradigma nos
explica el mundo y nos ayuda a predecir
su comportamiento”.
4
Paradigma
En nuestro contexto, el paradigma debe ser
concebido como una forma aceptada de
resolver un problema en la ciencia, que más
tarde es utilizadacomo modelo para la
investigación y la formación de una teoría.
También, el paradigma debe ser concebido
como un conjunto de métodos, reglas y
generalizaciones utilizadas conjuntamente por
aquellos entrenados para realizar el trabajo
científico de investigación.
5
Paradigmas
6
Paradigmas de programación
Los paradigmas de programación nos
indican las diversas formas que, a lo largo
de laevolución de los lenguajes, han sido
aceptadas como estilos para programar y
para resolver los problemas por medio de
una computadora.
7
Paradigmas de programación
Imperativo
Funcional
Lógico
Orientado a Objetos
8
Paradigma POO
La Programación Orientada a Objetos (POO u
OOP según sus siglas en inglés) es un
paradigma de programación que usa objetos y
sus interacciones para diseñar aplicaciones yprogramas de computadora. Está basado en
varias técnicas, incluyendo herencia,
modularidad, polimorfismo, y encapsulamiento.
Su uso se popularizó a principios de la década
de 1990. Actualmente son muchos los lenguajes
de programación que soportan la orientación a
objetos.
9
Lenguajes de programación OO
Simula 67: Johan Dahl y Kristen Nygaard
Smalltalk: Alan Kay
C++: Bjarne Stroustrup
Eiffel:Bertrand Meyer
Java: James Gosling
C#: Anders Hejlsberg
Ruby: Yukihiro Matsumoto
10
Personajes
11
Características de la POO
Abstraction
Encapsulation
Information Hiding
Modularity
Functional Independence: Coupling and
Cohesion
Polymorphism
Inheritance
Single inheritance
Multiple inheritance
12
DDD: Deadly Diamond of Death
13
SOLID: Open/closed principle
In object-oriented programming, theopen/closed principle states "software
entities (classes, modules, functions, etc.)
should be open for extension, but closed
for modification"; that is, such an entity can
allow its behaviour to be modified without
altering its source code.
14
15
Conceptos básicos
Objeto
Clase
Concretas
Abstractas
Interfaces
Atributo
Operación
Mensaje
Paquete
16
Objeto
objeto : Clase
: Alumno
17
Clasey objeto
Alumno
+nombre
+apellidoPaterno
+apellidoMaterno
alumno1 : Alumno
nombre = Ismael
apellidoPaterno = Perea
apellidoMaterno = Camarillo
+estudiar()
+presentarExamen()
18
Clase
Clase
paquete1::Clase
Clase
+atributo1
#atributo2
-atributo3
~atributo4
+atributo1
#atributo2
-atributo3
~atributo4
+atributo1
#atributo2
-atributo3
~atributo4
+operacion1()
-operacion2()
#operacion3()~operacion4()
+operacion1()
-operacion2()
#operacion3()
~operacion4()
+operacion1()
-operacion2()
#operacion3()
~operacion4()
19
Clase
Clase
+atributo1
#atributo2
-atributo3
~atributo4
+operacion1()
-operacion2()
#operacion3()
~operacion4()
Clase
Clase
+atributo1
#atributo2
-atributo3
~atributo4
+atributo1
#atributo2
-atributo3
~atributo4
+operacion1()
-operacion2()
#operacion3()~operacion4()
+operacion1()
-operacion2()
#operacion3()
~operacion4()
20
Clase
Alumno
+nombre: String
+apellidoPaterno: String
+apellidoMaterno: String
+carrera: Integer = 308
+estudiar()
+presentarExamen()
Alumno
+nombre: String
+apellidoPaterno: String
+apellidoMaterno: String
+carrera: int = 308
ClaseA
+atributo1: String
#atributo2: Integer
-atributo3: Boolean
~atributo4: ClaseB
+operacion1(p1)...
Regístrate para leer el documento completo.