Sie sind auf Seite 1von 7

Introducción al Modelo Orientado a Objetos

Rooney Hurtado Pino

Programación de Computadores II

Instituto IACC

26-08-2018
Desarrollo

1. Defina con fundamento los siguientes conceptos:

a) Objeto: es una estructura o construcción que combina datos y códigos, Instancia de

una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de

comportamiento o funcionalidad (métodos), los mismos que consecuentemente

reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea,

o con objetos internos del sistema (del programa). Es una instancia a una clase.

b) Atributo: Representan las propiedades que caracterizan la clase, contenedor de un

tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles

desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo

valor puede ser alterado por la ejecución de algún método.

c) Clase: definición de un objeto, una clase es una plantilla para la creación de objetos

de datos según un modelo predefinido. Las clases se utilizan para representar entidades

o conceptos, como los sustantivos en el lenguaje. Cada clase es un modelo que define

un conjunto de variables -el estado, y métodos apropiados para operar con dichos datos

-el comportamiento. Cada objeto creado a partir de la clase se denomina instancia de la

clase.

Las clases son un pilar fundamental de la programación orientada a objetos. Permiten

abstraer los datos y sus operaciones asociadas al modo de una caja negra. Los lenguajes

de programación que soportan clases difieren sutilmente en su soporte para diversas

características relacionadas con clases. La mayoría soportan diversas formas de

herencia. Muchos lenguajes también soportan características para proporcionar

encapsulación, como especificadores de acceso.


d) Método: Representan el comportamiento u operaciones, la forma como interactúa la

clase con su retorno se denomina también como un algoritmo asociado a un objeto (o a

una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje".

Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método

puede producir un cambio en las propiedades del objeto, o la generación de un "evento"

con un nuevo mensaje para otro objeto del sistema.

Respuestas preguntas 2 y 3

Vamos a comenzar definiendo los términos de clase y objeto. Una clase define un nuevo

tipo de dato que especifica la forma de un objeto. Una clase incluye los datos y el código

que operará sobre esos datos. Además, una clase enlaza datos y código. C++ usa una

especificación de una clase para construir objetos. Los objetos son instancias de una

clase. Además, una clase es esencialmente una serie de planes que especifican cómo

construir un objeto. Es importante tener claro esto: Una clase es una abstracción lógica.

No es sino hasta que un objeto de esa clase sea creado que la representación física de

la clase existe en la memoria. Cuando se define una clase, se declaran los datos que

ésta contiene y el código que opera en esos datos. Aunque clases muy simples pueden

contener sólo código o sólo datos, la mayoría de las clases contienen ambos. En conjunto,

los datos se almacenan en las variables y el código en las funciones. Colectivamente,

las funciones y variables que constituyen una clase son llamados 'miembros' de la clase.

Una variable declarada dentro de una clase es llamada 'variable miembro', y una función

declarada en una clase es llamada 'función miembro'. En ocasiones el término 'variable

de instancia' es usado en lugar de variable miembro.


Una clase es creada con la palabra clave class. La declaración de una clase es similar

sintácticamente a una estructura (y tienen muchísimo que ver). Aquí tenemos un ejemplo.

La siguiente clase define un tipo llamado CRender, el cual es usado para implementar

operaciones de renderizado en este caso.

// Esto define la clase CRender

class CRender {

char buffer[256];

public:

void m_Renderizar();

};

Veamos más de cerca esta declaración de la clase.

Todos los miembros de CRender son declarados dentro de la declaración 'class'. La

variables miembro de CRender es buffer. La función miembro es m_Renderizar.

NOTA: Por defecto los miembros de una clase son privados.

Una clase puede contener tanto miembros privados como públicos. Por defecto, todos

los elementos definidos en una clase son privados. Por ejemplo la variable buffer es

privada. Esto significa que sólo pueden acceder a ella otros miembros de la clase

CRender, cosa que no podrá hacer ninguna otra parte del programa. Es una forma de

lograr la encapsulación: se puede controlar el acceso a ciertos elementos de datos

manteniéndolos privados. Aunque no hay ninguna en este ejemplo, se pueden definir

funciones privadas, las cuales pueden ser llamadas solamente por otros miembros de la

clase.
Recordemos: En C++, una clase es un nuevo tipo de dato que puede ser usado para

crear objetos. Específicamente, una clase crea una consistencia lógica que define una

relación entre sus miembros. Cuando se declara una variable de una clase, se está

creando un objeto. Un objeto tiene existencia física, y es una instancia específica de una

clase. ( Esto es, un objeto ocupa espacio de memoria, pero una definición de tipo no ).

Además, cada objeto de una clase tiene su propia copia de los datos definidos dentro de

esa clase.

Para implementar una función que es un miembro de una clase, debe indicarle al

compilador a cual clase pertenece la función calificando el nombre de la función con el

nombre de la clase. Por ejemplo, esta es una manera de codificar la función

m_Renderizar().

void CRender::m_Renderizar()

strcpy(buffer, "C++ en wikibooks");

return;

Resolución de ámbito

Acceso a las funciones

Las funciones miembros de una clase sólo pueden ser llamadas relativas a un objeto

específico. Para llamar a una función miembro desde alguna parte del programa que se

encuentre fuera de la clase, se debe usar el nombre del objeto y el operador de


direcionamiento '.' ( punto ). Por ejemplo, lo siguiente llama a m_Renderizar() en el objeto

objeto1.

CRender objeto1, objeto2;

objeto1.m_Renderizar();

La invocación de objeto1.m_Renderizar() causa a m_Renderizar() operar en los datos

de la copia de objeto1. Mantenga en mente que objeto1 y objeto2 son 2 objetos

separados. Esto significa, por ejemplo, que inicializar objeto1 no causa que objeto2 sea

inicializado, La única relación que objeto1 tiene con objeto2 es que es un objeto del

mismo tipo.

Cuando una función miembro llama a otra función miembro de la misma clase, puede

hacerlo directamente, sin usar un objeto y el operador '.' En este caso, el compilador ya

conoce en cuál objeto se está operando. Solamente cuando una función miembro es

llamada por código que se encuentra fuera de la clase es cuando debe utilizarse el

nombre del objeto y el operador '.' Por la misma razón, una función miembro puede

referirse directamente a una variable miembro, pero código fuera de la clase debe

referenciarse a la variable a través de un objeto y el operador '.'

Métodos:

En comparación con la programación tradicional, un método es lo mismo que una función

cualquiera, salvo que como los métodos se declaran para pertenecer a una clase

específica, se dice que todos los métodos de dicha clase son miembros de la misma. Por
lo demás, la declaración y definición de los métodos es exactamente igual que declarar

y definir cualquier otra función.

Bibliografía

Contenido semana N°01 IACC

Das könnte Ihnen auch gefallen