Sei sulla pagina 1di 12

PRO G RAM ACI N O RIEN TAD A

A O BJETO S
R. Jeric Flores
Aldana.
Miguel ngel
Snchez R.

PRO G RAM ACI N O RIEN TAD A A O BJETO S


La POO es un paradigma el cual propone modelar todo
en base a objetos y clases.
Consiste en el uso de 3 conceptos fundamentales:
HERENCIA
POLIMORFISMO
ENCAPSULAMIENTO

CLASES Y O BJETO S
QU ES UN OBJETO?
Un objeto es una entidad (cualquier cosa) que tiene
estado y funcionalidad.
El estado del objeto se define a travs de variables
llamadas ATRIBUTOS.
La funcionalidad del objeto se modela a travs de
funciones conocidas como MTODOS del objeto.

CLASES Y O BJETO S
Ejemplo:
ATRIBUTOS

MTODOS

Marca

Avanzar

Nmero de
puertas

Frenar

Color

Retroceder

CLASES Y
O BJETO S
QU ES UNA CLASE?
No es ms que una plantilla a partir de la cul instanciar
(crear) un objeto.

En el ejemplo del automvil, todos los autos tienen


atributos y mtodos comunes, pero son objetos diferentes.

CLASES Y O BJETO S
En Python las clases se definen con la palabra reservada class
seguida del nombre de la clase.
1_ejemplo.py

class Coche:
#Creando la plantilla del objeto coche.
def __init__(self, gasolina) : #gasolina es un
parmetro
self.gasolina = gasolina # self.gasolina es un
atributo
print ("Tenemos", gasolina, "litros")
def encender(self) :
if self.gasolina > 0 :
print (Enciende")
else:
print ("No enciende...")
def conducir(self):
if self.gasolina > 0:
self.gasolina -= 1
print ("Quedan", self.gasolina, "litros")
else:
print ("Se qued sin gasolina...")

CLASES Y
O BJETO S
MTODO __init__()
ste mtodo se ejecuta inmediatamente despus de
instanciar un objeto a partir de la clase.
Sirve para realizar cualquier proceso de inicializacin
que sea necesario.
En otros lenguajes de programacin orientados a
objetos, se conoce como mtodo constructor.

SELF
CLASES

Y O BJETO S

Self sirve para referirse al objeto actual (atributos y


mtodos).
Es necesario para poder acceder a los atributos y
mtodos del objeto y que no se confunda con una
variable local llamados de la misma manera.
En el mtodo __init__ de la clase Coche se utiliza self para
asignar al atributo gasolina del objeto (self.gasolina) el
valor que el programador especific para el parmetro
gasolina.
El parmetro gasolina se destruye al final de la funcin,
mientras que el atributo gasolina se conserva mientras el
objeto viva.

CLASES Y O BJETO S
Al crear nuestro primer objeto pasamos solo un
parmetro a __init__ cuando la funcin dice que son dos
parmetros (self y gasolina).
Python pasa el primer argumento automticamente al
detectar que se trata de self.
Para acceder a los atributos y mtodos de nuestro objeto
ya instanciado se usa la sintaxis:
objeto.atributo
objeto.mtodo()

Otro ejemplo: 2_ejemplo.py

print (mi_coche.gasolina)
mi_coche.encender()
mi_coche.conducir()
mi_coche.conducir()
mi_coche.conducir()
mi_coche.conducir()
mi_coche.conducir()
print(mi_coche.gasolina)

H EREN CIA
La herencia es un mecanismo de la POO para construir clases
nuevas a partir de clases ya existentes.
Se toman atributos y mtodos de las clases viejas para construir
una clase nueva, en otras palabras, la clase puede ser extendida.
03_ejemplo.py

PO LIM O RFISM O
sta caracterstica de la programacin orientada a ojetos, nos
indica que es la capacidad de un mtodo de actuar de diferentes
maneras, de acuerdo a la clase del objeto que lo invoque.
Esto se debe a que distintos objetos pueden tener un mtodo
con el mismo nombre, pero realiza diferentes acciones.
Un ejemplo es el mtodo len():
04_ejemplo.py

cadena = "Esto es un texto"


print(len(cadena))
# 16
lista = ["cadena", 78, 34, "otro texto"]
print(len(lista))
#4

EN CAPSU LAM IEN TO


El encapsulamiento es la forma de impedir el acceso o
visualizacin de las variables, de una manera directa.
En otros lenguajes se logra declarando la variable como
Public y Private.
En Python se logra comenzando la definicin de la variable o
el mtodo con doble guion bajo.
Los mtodos y funciones privadas solo pueden ser utilizadas
dentro de la clase. Para utilizarlas fuera de la clase, se debe
utilizar una funcin que devuelva el valor privado.
5_ejemplo.py

Potrebbero piacerti anche