LABORATORIO #7 PARTE I INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS

UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN LABORATORIO #7 – PARTE I INTRODUCCIÓN A LA PRO

0 downloads 26 Views 101KB Size

Recommend Stories


Persistencia Orientada a objetos
Persistencia Orientada a objetos Prof. Mg. Javier Bazzocco 2011 1 Bazzocco, Javier Persistencia orientada a objetos. - 1a ed. - La Plata : Universi

POO - Programación Orientada a Objetos
Última modificación: 08-03-2016 230086 - POO - Programación Orientada a Objetos Unidad responsable: 230 - ETSETB - Escuela Técnica Superior de Ingen

Programación Orientada a Objetos. Sesión 4: Herencia
Programación Orientada a Objetos Sesión 4: Herencia Contextualización Cuando hablamos de informática, podemos contemplar varios elementos que se uti

Tema 11: Programación orientada a objetos
Tema 11: Programación orientada a objetos Índice 1 La Programación Orientada a Objetos...............................................................

Conceptos de Programación Orientada a Objetos
Conceptos de Programación Orientada a Objetos ¿Qué es un objeto en el mundo real? Un objeto es un elemento real o abstracto, que tiene un estado, un c

Programación orientada a objetos en Visual Basic.NET
Programación orientada a objetos en Visual Basic .NET Índice Introducción 1 Lección: Entender el concepto de clase 2 Lección: Trabajar con clases

Parte I: Programación en un lenguaje orientado a objetos
Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación • Lenguajes de alto nivel. El proceso de comp

4.3. Estructuras de programación orientada a objetos Tablas
GAmuza Hybrid live coding / 4. L e n g u a j e modular application 4.3. Estructuras de programación orientada a objetos La programación orientada

5 C A P I T U L O. Programacion orientada a objetos con Java. 5.1 Introduccion a Java Caracteristicas
5 CAPITULO Programacion orientada a objetos con Java En este capitulo haremos una breve introduccion al lenguaje de Java1, mostrando la relacion entr

Story Transcript

UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN

LABORATORIO #7 – PARTE I INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Marco Teórico En la vida real casi todo se compone de objetos (Carro, lapicero, casa, etc.). Entendemos que tanto un Mercedes Benz verde, como un Corolla rojo son carros, pero son distintos en su aspecto físico, el color, la potencia, el modelo, el año, etc. Sin embargo, ambos también tienen unas características comunes: poseen ruedas, un volante, asientos... Esas características comunes son las que hacen pensar en el concepto de Carro en ambos casos. A partir de ahora podemos interpretar que el Mercedes y el Corolla son objetos, y el tipo o clase, de esos objetos es Carro.

Clases en Programación Orientada a Objetos (POO) La clase reúne las característica de un objeto, cuando se les da valores a estas características entonces se puede decir que se instancia un objeto. Por esto se dice que un objeto es la instancia de una clase. Veamos: Un Carro tiene 4 ruedas, 1 placa, 5 asientos; además un Carro acelera, frena y gira. Las características de un Carro no sólo dicen que cosas posee, sino también describen qué acciones puede realizar un Carro (acelerar, frenar y girar). Es decir, una clase define los atributos (qué datos tiene asociados) y las acciones o métodos (funcionalidades) que puede realizar un objeto de la clase. Entonces decimos que: •

Una clase define el comportamiento y atributos de un grupo de objetos con características similares.



Los atributos determinan el estado del objeto. Son las características de los objetos. Cuando definimos un atributo o propiedad normalmente especificamos su nombre y su tipo. Los atributos son equivalentes a variables donde almacenamos datos relacionados con los objetos.



Los métodos definen el comportamiento del objeto. Son las funcionalidades asociadas a los objetos.

De manera formal una clase se define de la siguiente forma:

Pseudoformal Clase //Declaración de los atributos de la clase ; ... ;

Pág. 1

UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN

//Declaración de los métodos de la clase Acción/Función () ; FClase;

C++ class nombre_clase { : atributo_1; atributo_n; : tipo método (lista de parámetros) { // cuerpo del método } //pueden haber n métodos



};

Donde se define siguiendo la sintaxis ya manejada para la declaración de variables, y se define utilizando la sintaxis ya conocida para la declaración de acciones y funciones en C++. En cuanto al modo de acceso de los atributos y los métodos, pueden ser: •

Public (publico): vistos o modificados desde cualquier clase.



Protected (protegidos): solo pueden ser vistos o modificados desde la clase que los define y sus clases hijas (Herencia, a tratar en el próximo laboratorio).



Private (privado): Solo puede ser accedidos por la clase que los define.

Objetos en POO Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instace que en inglés significa ejemplar). Por ejemplo, un objeto de la clase Carro es por ejemplo Corolla. El concepto o definición de Carro sería la clase, pero cuando se habla de un Carro en concreto, lo llamamos objeto. ¿Cómo se declara un objeto de una clase? Para crear un nuevo objeto de una clase en C++, simplemente basta con indicar la Clase de la cual se quiere instanciar el objeto y el nombre de este último, esta acción automáticamente realiza una llamada al constructor de la clase. Pág. 2

UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN

Ejemplo: nombre_clase nombre_objeto; Una vez instanciado un objeto, este es tratado como una variable mas dentro del código del programa. Puede ser un parámetro de una función y. Constructor de una Clase El constructor es un método invocado o “llamado” cuando se instancia un objeto de una clase, y permite inicializar los atributos del objeto (dentro de los paréntesis podríamos colocar parámetros con los que inicializar el objeto de la clase Carro). El constructor es un método de acceso público que tiene el mismo nombre de la clase.

Pseudoformal Constructor () //Secuencia de Instrucciones FConstructor; C++ class Ejemplo { public: int a, b; Ejemplo(int c) { b = c; a = b + 3; } };

Estado de un Objeto Cuando tenemos un objeto sus propiedades toman valores. Por ejemplo, cuando tenemos un Carro la propiedad color tomará un valor en concreto, como por ejemplo rojo o gris metalizado. El valor concreto de una propiedad de un objeto se llama estado. Para acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el operador punto. miCarro.color = rojo El objeto es miCarro, luego colocamos el operador punto y por último el nombre e la propiedad a la que deseamos acceder. En este ejemplo estamos cambiando el valor del estado de la propiedad del objeto a rojo con una simple asignación. Nota: Cabe destacar que para acceder a los atributos de un objeto de la manera antes vista estos deben tener un modo de acceso público. Pág. 3

UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN

Sin embargo es considerada una buena práctica de programación el que los atributos de una clase tengan modo de acceso privado, y estos sean accedidos por métodos get y set (públicos). Esto quiere decir que por cada atributo de la clase debería existir un método getAtributo(), el cuál es una función que retorna el valor actual del dicho atributo; y un método setAtributo(valor), el cual normalmente es una acción que modifica dicho atributo asignándole el valor pasado por parámetro. Ejemplo: class Carro{ // atributos private:

// privados

string color; int cant_ruedas; // métodos public:

// públicos

Carro(string c,int cc) {

// método Constructor

color=c; cant_ruedas=cc; } // métodos para obtener el valor de los atributos (Geters) y // métodos para asignar un valor a los atributos (Seters) string getColor(){ return color; } void setColor(string c){ color=c; } int getColor(){ return cant_ruedas; } void setColor(int cc){ cant_ruedas=cc; } };

Mensajes en objetos Un mensaje en un objeto es la acción de efectuar una llamada a un método. Por ejemplo, cuando le decimos a un objeto Carro que se ponga en marcha estamos pasándole el mensaje “ponte en marcha”. Pág. 4

UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN

Para mandar mensajes a los objetos utilizamos el operador punto, seguido del método que deseamos invocar. miCarro.ponerseEnMarcha() En este ejemplo pasamos el mensaje ponerseEnMarcha(). Hay que colocar paréntesis igual que cualquier llamada a una función, dentro irían los parámetros. Siguiendo con nuestro ejemplo: class Carro { // implementa atributos y métodos generales de un carro // atributos o principales características del carro private:

// privados

string modelo, color, placa; int Cant_Ruedas, Cant_Asientos; bool estacionado; // métodos o principales operaciones del carro public:

// públicos

Carro (string m, col, p, int ruedas, asientos) { // método constructor modelo = m; placa = p; Cant_Ruedas = ruedas; Cant_Asientos = asientos; color=col; estacionado=false; } // Acá se declararían todos y cada uno de los // métodos para obtener el valor de los atributos (Get) y // métodos para asignar un valor a los atributos (Set) //



}; // fin de la declaración de la Clase Carro // acción adicional a la clase Carro. // ella utiliza un objeto de la clase, llamado A y pasado por parámetro, // para simular como se estaciona un carro void Estacionar(Carro &A) { cout

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.