jueves, 11 de octubre de 2018

UNIDAD 3: TAREA #2 CLASES Y OBJETOS EN PYTHON

CLASES.

Las clases proveen una forma de empaquetar datos y funcionalidad juntos. Al crear una nueva clase, se crea un nuevo tipo de objeto, permitiendo crear nuevas instancias de ese tipo. Cada instancia de clase puede tener atributos adjuntos para mantener su estado. Las instancias de clase también pueden tener métodos (definidos por su clase) para modificar su estado.

Comparado con otros lenguajes de programación, el mecanismo de clases de Python agrega clases con un mínimo de nuevas sintaxis y semánticas. Es una mezcla de los mecanismos de clases encontrados en C++ y Modula-3. Las clases de Python proveen todas las características normales de la Programación Orientada a Objetos: el mecanismo de la herencia de clases permite múltiples clases base, una clase derivada puede sobre escribir cualquier método de su(s) clase(s) base, y un método puede llamar al método de la clase base con el mismo nombre. Los objetos pueden tener una cantidad arbitraria de datos de cualquier tipo. Igual que con los módulos, las clases participan de la naturaleza dinámica de Python: se crean en tiempo de ejecución, y pueden modificarse luego de la creación.


¿Cómo crearíamos una clase en Python? 


La estructura de clase más simple en Python luciría de la siguiente manera:
class ClassName:
   

Como puedes ver, la definición de una clase comienza con la palabra clave class, y className sería el nombre de la clase (identificador). Ten en cuenta que el nombre de la clase sigue las mismas reglas que los nombres de variables en Python, es decir, sólo pueden comenzar con una letra o un subrayado _, y sólo pueden contener letras, números o guiones bajos. Además, según PEP 8 (Guía de estilo para la programación en Python), se recomienda que los nombres de las clases estén capitalizadas.

Ahora vamos a definir una clase Person (persona), que por el momento no contendrá nada, excepto la declaración de pass. Según la documentación de Python:


La sentencia pass no hace nada. Puede ser utilizada cuando se requiere una sentencia sintácticamente pero programa no requiere acción alguna.
class Person:
    pass



Para crear una instancia (objeto) de esta clase, simplemente haremos lo siguiente:

A =  Person()

Esto significa que hemos creado un nuevo objeto jorge del tipo Person. Date cuenta que para crear un objeto solo debemos escribir el nombre de la clase, seguido de unos paréntesis.

Atributos


Los atributos son como propiedades que queremos añadir a la clase (tipo). Por ejemplo, para nuestra clase Person, vamos a añadir dos atributos: name y school, tal que así:
class Person:
    name = ''
    school = ''


Ahora, vamos a crear un nuevo objeto del tipo Person con más detalle, completando estos atributos que acabamos de añadir:
A = Person()
abder.name = 'Adamary'
abder.school = 'INSTITUTO TECNOLOGICO DE MATAMOROS'



Métodos


Los métodos son cómo funciones en Python, ya que se definen con la palabra clave def y cuentan con el mismo formato que las funciones. En nuestra clase, vamos a definir un método que imprima el nombre (name) y la escuela (school) de una persona (Person). La clase se verá de la siguiente manera:

class Person:
    name = ''
    school = ''
     
    def print_name(self):
        print self.name
         
    def print_school(self):
        print self.school
     
A = Person()
A.name = 'Adamary'
A.school = 'INSTITUTO TECNOLOGICO DE MATAMOROS'
A.print_name()
A.print_school()

Vamos a hacer el proceso de imprimir el nombre y la escuela en un solo método, tal que así:
class Person:
    name = ''
    school = ''
     
    def print_information(self, name, school):
        print self.name
        print self.school
             
A = Person()
A.name = 'Adamary'
A.school = 'INSTITUTO TECNOLOGICO DE MATAMOROS'

Inicialización
En la sección anterior, hemos inicializado name y school, dándoles un valor vacío ''. Pero hay una forma más elegante de inicializar variables con sus valores predeterminados. El inicializador es un método especial, con nombre
__init__ (el método se considera especial y será tratado de forma especial, es por eso que tiene subrayados dobles al principio y al final).
class Person:
    def __init__(self, n, s):
        self.name = n
        self.school = s
     
    def print_name(self):
        print self.name
         
    def print_school(self):
        print self.school
     
A = Person('Adamary', 'INSTITUTO TECNOLOGICO DE MATAMOROS')
 
A.print_name()
A.print_school()


No hay comentarios:

Publicar un comentario

U4: PRACTICA #21 JUEGO EN 3D