3. La POO tiene origen en simula 67.
Diseñado para hacer simulaciones .
Creado por Ole Johan y Kristen Nygaard en
Oslo.
Refinado en smalltalk.
Desarrollado en simula en Xerox PARC.
Tomo posición como el estilo de programación
dominante a mediados de los años 80.
4. FLEXIBILIDAD: Capacidad de adaptarse a nuevas ideas.
REUSABILIDAD: Respecto a la calidad de un programa,
la reusabilidad hace referencia a poder volver a usar parte
de dicho software en otro proyecto.
MANTENIBILIDAD: “La facilidad con la que un
sistema o componente software puede ser modificado para
corregir fallos, mejorar su funcionamiento u otros atributos
o adaptarse a cambios en el entorno”.
EXTENSIBILIDAD: gracias a la modularidad y a la
herencia una aplicación diseñada bajo el
paradigma de la orientación a objetos puede ser
fácilmente extensible para cubrir necesidades de
crecimientos de la aplicación.
5. Abstracción: denota las características esenciales de un objeto, donde se
capturan sus comportamientos. Cada objeto en el sistema sirve como
modelo de un "agente" abstracto que puede realizar trabajo, informar y
cambiar su estado, y "comunicarse" con otros objetos en el sistema sin
revelar cómo se implementan estas características.
Encapsulamiento: Significa reunir a todos los elementos que pueden
considerarse pertenecientes a una misma entidad, al mismo nivel de
abstracción. Esto permite aumentar la cohesión de los componentes del
sistema. Algunos autores confunden este concepto con el principio de
ocultación, principalmente porque se suelen emplear conjuntamente.
Modularidad: Se denomina Modularidad a la propiedad que permite
subdividir una aplicación en partes más pequeñas (llamadas módulos),
cada una de las cuales debe ser tan independiente como sea posible de la
aplicación en sí y de las restantes partes.
Principio de ocultación: El aislamiento protege a las propiedades de un
objeto contra su modificación por quien no tenga derecho a acceder a
ellas, solamente los propios métodos internos del objeto pueden acceder a
su estado.
6. POLIMORFISMO: Es la propiedad que tienen los
objetos de permitir invocar genéricamente un
comportamiento (método) cuya implementación
será delegada al objeto correspondiente recién en
tiempo de ejecución
HERENCIA
Es una relación entre clases en la cual una clase
comparte la estructura y comportamiento definido en
otra clase. Cada clase que hereda de otra posee:
Los atributos de la clase base además de los propios.
Soporta todos o algunos de los métodos de la clase
base.
Recolección de basura: la recolección de basura o
garbage collector es la técnica por la cual el entorno de
objetos se encarga de destruir automáticamente, y por
tanto desvincular la memoria asociada, los objetos
que hayan quedado sin ninguna referencia a ellos.
7.
8. .- Estructura básica de un programa
C# es un lenguaje orientado a objetos puro, esto es, sólo puede manejar
aplicaciones creadas con el modelo de objetos ( a diferencia del lenguaje
C++ que permite crear aplicaciones con el modelo de objetos y
aplicaciones con el modelo procedimental). Debido a esto, toda aplicación
de C# debe constar de, al menos, una clase que contenga al método
Main().
Ejemplo:
saludo.cs
// Mi primer programa en C#
class HolaMundo{
public static void Main( ){
System.Console.WriteLine("¡ Hola, Mundo !");
}
}
Una aplicación puede definir tantas clases como sea necesario y también
utilizar clases predefinidas. La única condición es que una de las clases
contenga al método Main( ).
El código del método Main( ) marca el inicio para la ejecución de toda
aplicación.
9. cabeceras (#include <iostream> ....)
macros (#define )
constantes (const int max = 10)
tipos de datos (typedef)
definición de los atributos de la clase y los metodos:
class NombreClase {
...private:
...........int atributo;
...public:
.......... NombreClase (parametros); //constructor
.......... ~NombreClase(void); //destructor
......... void metodo1 (void);
......... int metodo2 (void) const;
};
Implementacion de los metodos de la clase:
int NombreClase::metodo2 (void) const
{
.....return atributo;
}
Funcion Principal