Programacion Orientado a Objetos
Conceptos Fundamentales
- Encapsulacion
Es el proceso de almacenar en una misma seccion los elementos de una abstraccion que constituyen su estructura y su comportamiento; Sirve para separar el interfaz contractual de una abstraccion y su implementacion.
Consiste en organizar datos y metodos de una estructura, conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro medio distinto a los especificos. Por lo tanto la en capsulacion garantiza la integralidad de los datos que contiene un objeto.
Al combinar los atributos y los metodos en una sola entidad, es decir adentro de un objeto, obtenemos la encapsulacion.
- Herencia
Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obtendiendo caracteristicas similares a este. Este mecanismo permite derivar clases a partir de una clase base y nos permite compartir automaticamente metodos entre clases, subclases y objetos.
Permite la creacion de clases abstrayendo los atributos y los metodos comunes.
Superclase: Contiene todos los atributos y comportamientos que son comunes a las clases que descienden de ella, tambien se le conoce como clase padre o clase base.
La super clase es la clase que hereda todos los atributos y los metodos de otra clase.
Subclase: Es una extesión de la superclase, toma lo de la superclase y adiciona lo propio, tambien se le conoce como clase hija o clase derivada.
La relacion de la herencia generalmente se conoce como es-un
- Poliformismo
Es la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en funcion de los parametros utilizados durante su invocacion. Un objeto poliformico es la entidad que puede contener valores de diferentes tipos durante la ejecucion del programa.
Significa muchas formas, es decir que un objeto particular puede tomar diferentes formas en un momento dado.
Objeto
Son los elementos que componen a un sistema
Ejemplo:
Un programa orientado a objetos es basicamente una coleccion de objetos.
Datos del Objeto
Los objetos guardan datos en su interior, estos datos se llaman atributos; El contenido de estos datos en unmomento en particular es lo que conocemos como el estado del objeto.
Acceso
Podemos indicar el tipo de acceso que tendremos:
- Publico: El exterior tiene acceso
- Privado: Solo el mismo objeto puede acceder
- Protegido: Unicamente dentro de la cadena de herencia se tiene acceso
Al interior del objeto tenemos informacion y acciones que se van a llevar acabo.
El acceso nos va a permitir conocer determinado atributo o que podamos invocar determinado comportamiento.
Comportamiento del objeto
El comportamiento del objeto representa lo que el objeto puede hacer. Es una accion que lleva acabo el objeto cuando recibe un mensaje o cuando cambia su estado interno y todos estos comportamientos se colocan en metodos.
Mensajes
Los objetos se comunican entre si por medio de mensajes, este es el mecanismo de comunicacion, se logra cuando un objeto invoca un metodo de otro.
para que pueda suceder necesitamos conocer:
- Nombre del metodo
- Parametros a pasar al metodo
- Tipo de retorno del metodo
Clases
Es un plano a partir del cual el objeto es construido, en el indicamos que atributos y como funcionan los metodos que tendra el objeto. Muchos objetos pueden ser construidos apartir de la misma clase.
Tambien podemos pensar en la clase como un tipo de datos de alto nivel o definido por el programador.
Sintaxis
Class < nombreclase>
{
< miembros>
}
De este modo se definira una clase de <nombreclase> cuyos miembros son los definidos en <miembros>. Los miembros de una clase son los datos y metodos de los que van a disponer todos los objetos de la misma.
Procedimientos y Funciones
EN C# tenemos 4 tipos:
Procedimientos
La visibilidad de un procedimiento viene determinada por la declaracion private, publica o internal. Por defecto si no se indica nada se entiende que es public. Pueden recibir o no parametros, ejecuta instrucciones pero nunca retornara ningun valor.
Sintaxis
Funciones
Una funcion puede recibir o no parametros, ejecuta ciertas instrucciones y la ejecucion return devuelve un valor de salida de la funcion.
Sintaxis
Procedimientos de Propiedades
Estos procedimientos se llaman encapsuladores debido a que el valor de la propiedad se encapsula. Se utilizaran cuando queramos modificar y/o recuperar un valor (set/get)
Procedimientos de Operadores
Permite la redefinicion de un operador estandar del lenguaje para utilizarlo en tipo personalizado (clase o estructura)
Sintaxis
Documentacion de Programmas
Nos permite darle claridad y compresncion a cada una de las lineas de codigo que tendra el programa que estemos realizando.
Estandares de codificacion para la correcta utilizacion de la POO
Organizacion de los ficheros
Indentacion
Declaraciones
Sentencias
Espaciado
Convenios de nombres
Practicas de Programacion
- Ficheros de codigo fuente
- Estructura de directorios
- Espacios en blancoAjuste en lineaComentarios
- Comentarios de bloque
- Comentarios de linea
- Comentarios de documentacion
- Declaraciones de variables locales
- Declaraciones de miembros de clase e interfaces
- Inicializaciones
- Sentencias simples
- Sentencias de retorno
- sentencias if, if.else, if else-if-else
- sentencias for/for each
- sentencias while/ do while
- sentencias switch
- sentencias try catch
- Linea en blanco
- Espacios entre terminos
- Formato de tabla
- Mayusculas/minusculas
- Nombres de clases
- Nombres de interfases
- Nombres de enumeraciones
- Nombres de campos estaticos, readonly y constantes
- Nombres de parametros y campos no constantes
- Nombres de variables
- Nombres de metodos
- Nombres de propiedades
- Nombres de eventos
- Visibilidad
- No utilizar numeros mágicos
Comentarios
Publicar un comentario