poo

1

Upload: jose-luis-dorao

Post on 26-Jul-2015

74 views

Category:

Engineering


3 download

TRANSCRIPT

José Luis Dorado Belalcazar - 1367627| IPOO | [Fecha]

QUIZ MANUAL DE C++ ORIENTADA A OBJETOS.

PÁGINA 1

MANUAL DE C++ ORIENTADA A OBJETOS.

Conceptos Básicos.

En este manual vamos a ver unos conceptos básicos de la programación en C++

y la programación orientada a objetos, y en este se les enseñara a los usuarios una

pequeña parte de como es el mundo de la programación y todo lo que conlleva.

Además tener claridad de algunos estándares o normas para programar y cumplir

con una calidad de programación, para así no incurrir en errores frecuentes y

poder disminuir el fracaso en el diseño de un código o programa.

Lenguaje de Programación.

Un lenguaje de programación es

una unión de caracteres,

símbolos, representación y

normas que permiten introducir y

tratar la información o datos en un

computador, este lenguaje es

artificial ya que es solo

comprendido por el computador y

un programa que compren los

códigos comprendidos en él.

Clases de Programación.

La programación ha ido evolucionando desde sus orígenes, donde los lenguajes

eran de muy bajo nivel y las posibilidades reducidas, depurándose cada vez más

hasta alcanzar el alto nivel y relativa facilidad actual.

PÁGINA 2

Dentro de los lenguajes artificiales existen muchos tipos, cada uno de ellos

destinado a un propósito concreto; se pueden clasificar en tres categorías:

• Lenguajes de bajo nivel.

• Lenguajes de alto nivel.

• Lenguajes de muy alto nivel.

Los primeros son lenguajes que se encuentran muy cerca de la forma interna de

comunicación del ordenador, mientras que los terceros son más parecidos al

lenguaje humano.

Atendiendo a diferentes criterios podemos clasificar los lenguajes según:

1. Primer Criterio.

Estilo de Programación

ImperativosConjunto de instrucción

secuenciales

Declarativos

Funcionales

Basados en funciones formadas por

expresiones, los datos llegan a ellas por una serie de argumentos.

LógicosBasado en el calculo de

predicados.

Orientado a Objetos

Centrados en los objetos que van a manipular y

no en la lógica requerida para manipularlos

PÁGINA 3

2. Segundo Criterio.

3. Tercer Criterio.

Programación Orientada a Objetos.

Se Trata de llevar los conceptos del mundo real a la programación, en el mundo

real todo lo que nos rodea es un "objeto" un coche, un móvil, un ordenador. Que a

su vez tienen cosas (más objetos) el coche tiene ruedas, el móvil tiene teclas...

Y a su vez realizan cosas o sirven para el coche circula. El móvil sirve para llamar.

Entonces en programación cada vez se trata de emular más como piensa una

Herramienta de creación y/o ejecución.

Lenguaje Ensamblados

Son una representación simbólica de las instrucciones

correspondientes a una arquitectura especifica(ensamblador)

Lenguaje Compilados

Son traducidos desde un lenguaje de alto nivel a lenguaje maquina o

bien, a lenguaje ensamblador.(C, Basic, Pascal, etc.)

Lenguaje Interpretados

Cada instrucción es analizada y ejecutada a la vez (HTML, PHP, etc.)

Lenguaje Pre procesados

Traducidos primeramente a un lenguaje intermedio de mas bajo

nivel, y posteriormente ejecutados. (Java)

Atendiendo a su desarrollo histórico.

Primera Generación.

Asociados a los primeros ordenadores, muy complicados, y en general específicos de

cada maquina.

Segunda Generación.

Son lenguajes previos a los mas conocidos actualmente y que se encuentran muy cerca

del lenguaje maquina. Ejemplo lenguaje ensamblador.

Tercera Generación.

Son los lenguajes mas utilizados actualmente y basados en un

funcionamiento de procesos (basados en un conjunto de instrucciones que definen la

forma de solucionar un problema)

Cuarta Generación.

Son los basados en programación visual y orientada a objetos.

PÁGINA 4

persona engrandeciendo la abstracción al programador de cómo funcionan e

internamente las cosas preocupándose más de hacerlas y no en cómo hacerlas.

Es muy significativo destacar que cuando

hacemos referencia a la P.O.O no estamos

hablando de unas cuantas diferencias nuevas

añadidas a un lenguaje de programación.

Estamos hablando de una nueva forma de pensar

acerca del proceso de descomposición de

problemas y de desarrollo de soluciones de

programación.

La programación orientada a objetos surge en la historia como un intento para

dominar la complicación que, de forma natural, posee el software. El concepto de

Orientación a Objetos surge en torno a 1970 de mano de Alan Ray Xerox PARC

fue una de los primeros interesados en lo que se quería imponer como un nuevo

paradigma de programación.

El Origen de la P.O.O.1

Los conceptos de la programación orientada a objetos tienen origen en Simula 67,

un lenguaje diseñado para hacer simulaciones, creado por Ole-Johan

Dahl y Kristen Nygaard, del Centro de Cómputo Noruego en Oslo. En este centro

se trabajaba en simulaciones de naves, que fueron confundidas por la explosión

combinatoria de cómo las diversas cualidades de diferentes naves podían afectar

unas a las otras. La idea surgió al agrupar los diversos tipos de naves en diversas

clases de objetos, siendo responsable cada clase de objetos de definir

sus propios datos y comportamientos. Fueron refinados más tarde en Smalltalk,

desarrollado en Simula en Xerox PARC (cuya primera versión fue escrita

sobre Basic) pero diseñado para ser un sistema completamente dinámico en el

cual los objetos se podrían crear y modificar "sobre la marcha" (en tiempo de

ejecución) en lugar de tener un sistema basado en programas estáticos.

1 http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos

PÁGINA 5

La programación orientada a objetos se fue convirtiendo en el estilo de

programación dominante a mediados de los años ochenta, en gran parte debido a

la influencia de C++, una extensión del lenguaje de programación C. Su

dominación fue consolidada gracias al auge de las Interfaces gráficas de usuario,

para las cuales la programación orientada a objetos está particularmente bien

adaptada. En este caso, se habla también de programación dirigida por eventos.

Las características de orientación a objetos fueron agregadas a muchos lenguajes

existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp y Pascal, entre otros.

La adición de estas características a los lenguajes que no fueron diseñados

inicialmente para ellas condujo a menudo a problemas de compatibilidad y en la

capacidad de mantenimiento del código. Los lenguajes orientados a objetos

"puros", por su parte, carecían de las características de las cuales muchos

programadores habían venido a depender. Para saltar este obstáculo, se hicieron

muchas tentativas para crear nuevos lenguajes basados en métodos orientados a

objetos, pero permitiendo algunas características imperativas de maneras

"seguras". El Eiffel de Bertrand Meyer fue un temprano y moderadamente acertado

lenguaje con esos objetivos, pero ahora ha sido esencialmente reemplazado

porJava, en gran parte debido a la aparición de Internet y a la implementación de

la máquina virtual de Java en la mayoría de navegadores. PHP en su versión 5 se

ha modificado; soporta una orientación completa a objetos, cumpliendo todas las

características propias de la orientación a objetos.

PÁGINA 6

Tradicionalmente, la forma de enfrentarse a esta complejidad ha sido empleando

lo que llamamos programación estructurada, que consiste en descomponer el

problema objeto de resolución en sub-problemas y más sub-problemas hasta llegar

a acciones muy simples y fáciles de codificar. Se trata de descomponer el problema

en acciones, en verbos.

En el ejemplo de un programa que resuelva ecuaciones de segundo grado,

descomponíamos el problema en las siguientes acciones: primero, pedir el valor

de los coeficientes a, b y c; después, calcular el valor del discriminante; y por último,

en función del signo del discriminante, calcular ninguna, una o dos raíces.

Como podemos ver, descomponíamos el problema en acciones, en verbos; por

ejemplo el verbo pedir, el verbo hallar, el verbo comprobar, el verbo calcular…

La programación orientada a objetos es otra forma de descomponer problemas.

Este nuevo método de descomposición es la descomposición en objetos; vamos a

fijarnos no en lo que hay que hacer en el problema, sino en cuál es el escenario

real del mismo, y vamos a intentar simular ese escenario en nuestro programa.

Ejemplos de Lenguajes Orientados a Objetos.

En el caso de C++, el elemento básico no es la función, sino un componente

primordial para este estilo de programación que se denominado precisamente

objeto. Un objeto es un caso particular que representa de forma detallada y única

algo del mundo real, en donde el objeto tiene: datos que describen sus atributos y

operaciones que pueden realizarse sobre los mismos.

C++

Objective C

Java

Smalltalk

Eiffel Lexico (en castellano)

Ruby

Python []SDK]]

Delphi PowerBuilder

Maya

OCAML

Object Pascal CLIPS

Visual .net Actionscript

COBOL

Perl C#

Visual Basic.NET

PHP

Simula

Corel draw

PÁGINA 7

Diferencia entre lenguajes orientados a y basados en objetos2

Los Lenguajes Basados en Objetos poseen una sintaxis y una semántica que

permiten la creación de objetos, pero no poseen todas las características

necesarias para ser considerados plenamente orientados a objetos. La

característica más comúnmente no-soportada suele ser la posibilidad de herencia.

Dentro de los Lenguajes Orientados a Objetos se hace una distinción entre L.O.O

puros (como Smalltalk, Eiffel, Java, etc.), que aunque por ser más abstractos son

más fáciles de manejar pero más lentos, no permiten otra forma de hacer las cosas

salvo la correcta, mientras que los llamados L.O.O. híbridos (C++, Object Pascal,

CLOS, Prolog++, etc.) mezclan la O.O. con otro paradigma (programación

estructurada / funcional / lógica, etc. ) y a pesar de poder ser más fáciles de

aprender, si se conocen aquellos de los que derivan, proclamarse más rápidos y

eficientes, y ofrecer otro tipo de soluciones cuando la O.O. no es lo más adecuado,

no ofrecen toda la versatilidad y potencia de una completa O.O.

2 Programación Orientada a Objetos. Castro Laura.2000/2001

PÁGINA 8

Componentes de la Programación Orientada a Objetos.

Todo lenguaje tiene unos componentes que ayudan a estructurar la función que

quieren que cumpla el programa que se piensa hacer, para ello vamos a ver los

componentes básicos de la programación orientada a objetos.

1. Objeto.

Un objeto es un caso particular que representa de forma detallada y única algo del

mundo real. O.O nos indica que todo lo que ves, sientes, toca, escuchas, etc.,

puede ser ilustrado como un objeto.

Una silla, una mesa, un palo de golf, una persona, un perro, la cartuchera, el dedo,

pelo, uña, un auto, aire, agua, todo es entendible bajo el concepto Objeto.

2. Clase.

Una clase es un conjunto que representa a los objetos de características similares.

La forma de representar una clase es así:

NombreClase

atributos

métodos

Ejemplo de clase:

a) Modelado

b) En C++.

Class nombreClase // Declaración de la clase // { // Aquí va la definición de variables y métodos // }

PÁGINA 9

Ahora pasaremos a ver componentes de las clases como son los métodos y los

atributos.

2.1. Atributo.

El atributo es una especificación o característica que define la propiedad de un

objeto u clase y esta característica a su vez puede ser un valor especifico.

Por ejemplo, el número de ruedas de un automóvil es el mismo cuatro, para todos

los automóviles.

2.2. Método.

Los métodos son un conjunto de procedimientos que permiten a un objeto ejecute

una acción o instrucción sobe sí mismo.

Ejemplo:

Cuando tienes un automóvil las acciones que puedes hacer sobre el son encender,

parar, apagar y andar el automóvil.

3. Enmascaramiento y encapsulación, ejemplo.

Encapsulamiento

El encapsulamiento consiste en unir en la Clase las características y

comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola

entidad. En los lenguajes estructurados esto era imposible. Es evidente que el

encapsulamiento se logra gracias a la abstracción y el ocultamiento que veremos

a continuación.

La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya

que tendremos a las Clases como cajas negras donde sólo se conoce el

comportamiento pero no los detalles internos, y esto es conveniente porque nos

interesará será conocer qué hace la Clase pero no será necesario saber cómo lo

hace.

PÁGINA 10

Ocultamiento

Es la capacidad de ocultar los detalles internos del comportamiento de una Clase

y exponer sólo los detalles que sean necesarios para el resto del sistema.

El ocultamiento permite 2 cosas: restringir y controlar el uso de la Clase. Restringir

porque habrá cierto comportamiento privado de la Clase que no podrá ser accedido

por otras Clases. Y controlar porque daremos ciertos mecanismos para modificar

el estado de nuestra Clase y es en estos mecanismos dónde se validarán que

algunas condiciones se cumplan. En C++ el ocultamiento se logra usando las

palabras reservadas: public, private y protected delante de las variables y métodos.

Ejemplo de Clase y Objeto.

Básicamente la clase define como representar de forma abstracta a un objeto. Así

podemos ver que: la clase auto podría definir que un auto es todo objeto que tiene

las siguientes características:

Marca

Modelo

Año

Color

Número Puertas

Placas

De igual forma la clase auto podría definir que todo auto tiene comportamientos

como:

Arrancar

Acelerar

Frenar

Parar

PÁGINA 11

Auto

marca modelo

año color

numeroPuertas placas

arrancar acelerar frenar parar

Ahora bien cuando cada una de estas características toma un valor puede

representar un auto de la vida real, a cada objeto distinto formado a partir de una

clase se le conoce como instancia.

Ahora el objeto de esta clase seria:

miCarro

Mazda 3z

2014 Negro

2 AB3 59A

arrancar acelerar frenar parar

PÁGINA 12

Constructor y Destructor.

Los constructores y destructores son dos tipos de métodos especiales que se

ejecutan, respectivamente, al crear un nuevo objeto y cuando el recolector de

basura detecta que ya no lo estamos utilizando y es posible eliminarlo de la

memoria.

Constructor

Un método constructor de una clase es un método especial que:

Tiene el mismo nombre que la clase y

No tiene tipo de retorno.

Inicializa el estado de un objeto.

class <identificador de clase> {

public:

<identificador de clase>(<lista de parámetros>) [:

<lista de constructores>] {

<código del constructor>

}

...

}

Constructores sin parámetros (la función constructor no acepta argumento por

lo cual no tiene parámetros)

Eje.

NombreClase ();

{ }

Constructores con parámetros (la función del constructor acepta los argumentos

que cosiste en inicializar datos con parámetros)

Eje.

NombreClase(int x, int y);

{ x= 5;

PÁGINA 13

y= 3;

}

Ejemplo:

class Cuenta {

// Variables miembro

private:

double Saldo; // Saldo Actual de la

cuenta

double Interes; // Interés aplicado

public:

// Constructor

Cuenta(double unSaldo, double unInteres);

// Acciones básicas

double GetSaldo()

{ return Saldo; }

double GetInteres()

{ return Interes; }

void SetSaldo(double unSaldo)

{ Saldo = unSaldo; }

void SetInteres(double unInteres)

{ Interes = unInteres; }

void Ingreso(double unaCantidad)

{ SetSaldo( GetSaldo() + unaCantidad ); }

};

La definición del constructor de la clase Cuenta pudiera ser:

Cuenta::Cuenta(double unSaldo, double

unInteres)

{ //Hace llamadas los otros métodos

PÁGINA 14

SetSaldo(unSaldo);

SetInteres(unInteres);

}

Como el constructor es una función miembro, tiene acceso directo a las

variables miembro privadas. Luego el constructor también podría definirse

del siguiente modo:

Cuenta::Cuenta(double unSaldo, double

unInteres)

{

//Asigna a los datos el valor de los

parametros

Saldo = unSaldo;

Interes = unInteres;

}

Destructor

En contraposición al constructor, el destructor elimina el vínculo y libera el espacio

de memoria de un objeto, para que pueda ser ocupado nuevamente.

La sintaxis para declarar un destructor es:

[atributos] ~ <identificador> ( )

{

// Cuerpo del destructor.

}

Notas:

Una clase solamente puede tener un destructor.

Los destructores no pueden heredarse o sobrecargarse.

Los destructores no pueden invocarse, sino que son invocados

automáticamente.

Un destructor no acepta modificadores ni parámetros.

PÁGINA 15

Por ejemplo, la siguiente es una declaración de un destructor para la clase Figura:

~Figura()

{

// Instrucciones para limpiar.

}

Ejemplo:

// Destructores.cs : Maneja tres destructores de clases encadenadas.

class Primera

{

~ Primera( )

{

C.WriteLine("Se invocó al destructor de Primera...");

}

}

class Segunda : Primera

{

~ Segunda( )

{

C.WriteLine("Se invocó al destructor de Segunda...");

}

}

class Tercera : Segunda

{

~ Tercera( )

{

C.WriteLine("Se invocó al destructor de Tercera...");

}

}

public class Principal

PÁGINA 16

{

public static void Main( )

{

Tercera t = new Tercera ( );

}

}

Aplicaciones de constructores y destructores.

En esta sección se presenta una serie de ejemplos donde se implementarán:

1.- clases que sólo poseen el constructor predeterminado.

2.- clases con un constructor definido por el programador y

3.- clases con un constructor definido por el programador y el predefinido (que

deberá ser reescrito por el programador).

El constructor predeterminado es incluido automáticamente.

Cuando el programador define un constructor, el predeterminado se anula. En caso

de requerir el constructor predeterminado junto con un constructor definido por el

programador, deberá volverse a escribir el constructor predefinido, de acuerdo al

siguiente formato:

public <nombreClase>( )

{

}

Ejemplo 1

// Uso del constructor predeterminado.(No se define otro constructor)

class Persona

{

private string nombre;

private int edad;

public void asignaNombre( string n)

{

nombre = n;

PÁGINA 17

}

public void asignaEdad( int e)

{

edad = e;

}

public string daNombre( )

{

return nombre;

}

public int daEdad( )

{

return edad ;

}

}

public class Principal

{

public static void Main( )

{

Persona p = new Persona( ) ; // Se invoca al constructor

//predeterminado.

p.asignaNombre("Luis");

p.asignaEdad(25);

C.WriteLine("Nombre: {0} , Edad: {1}", p.daNombre(),

p.daEdad());

}

}

PÁGINA 18

Generalización y encapsulamiento.

En la programación orientada a objeto el encapsulamiento es una forma para

ocultar caracterizas internas de una clase de los elementos atributos que no la

conocen otros objetos y la generalización hace parte de encapsulamiento para

generalizar los métodos, significa tomar algo específico como en te caso los

métodos. Y así podemos ocultar información privada del programador que no

quiere dar a conocer las propiedades del objeto.

Qué son atributos y métodos estáticos de una clase, ejemplo.

Los atributos y métodos de una clase en pocas palabras son aquellos que se

determinan una función para todos los objetos.

Atributos estáticos: es la función que trabaja para la clase como lo único en vez

para el objeto en particular de la clase. Es decir las características son iguales para

todos los objetos por que los atributo de la clase estático que no cambia. Y lo cual

es utilizado en C++ la palabra reservada static indica que sólo existe un espacio

de memoria por atributo para todos los objetos de la clase.

Métodos estáticos: es una función que cumple una clase para todos los objetos, no

es la venimos mencionando que los métodos son operaciones de que realiza un

objeto que usamos comúnmente si no aquí hacemos referencia más a los del clase

para que toso los objetos que pertenezcan al misma clase cumpla solamente con

esta función y los métodos estático solo pueden acceder a los atributos estáticos y

llamar a otro método estático.

Eje.

Como definir métodos estáticos en una clase.

class nombre Clase

{

public static function métodoEstatico ()

{

return "Hey, soy un método estático";

PÁGINA 19

}

}

Qué son atributos y métodos privados.

Los atributos y los métodos privados son características y operaciones de una

clase que trabaja el programador para no ser modificado el objeto ocultándose para

no ser accedido fácilmente las decisiones del objeto de la clase.

Los atributos privados: son las características del objeto que oculta la clase para

que no accedan en la definición del objeto.

Los métodos privados: son los que el programador desea ocultar para que no

puedan acceder, pero para programar solo pueden ser llamado de método de la

clase y no pueden ser llamado método privado desde donde definimos el objeto.

Los atributos y métodos privados son elegidos en encapsulamiento para proteger

información que no se debe compartir y que accedan fácilmente.

¿Cuándo elegir? es según el programador de pendiendo del programa que realiza

sea laboral y preferencia, cuando son empresa o cuando no desea dar a conocer

como lo hizo, oculta los atributos y métodos como privados de una clase para no

dar información personal o privatizando las propiedades del objeto.

En la documentación y realización de programación de la orientación a objeto en

c++, una clase preferible que los atributos como privado para no dar a conocer las

variables que trabajamos y los métodos públicos que son los que llamamos cuando

definimos un objeto determinada clase. Para mayor facilidad y poder utilizarlo para

cualquier otro método.

Son soporte donde te puedes guiar para ejecutar el programa que desee y errores

básicos que son muy comunes cuando recién empiezas como un programador del

lenguaje de C++.

“Fórmula mágica” o un formato que le sirva a alguien que nunca ha

programado en c++ para crear una clase.

//Declaramos la librerías.

PÁGINA 20

#include<iostream> //librería que permite usar cout y endl.

using namespace std; // funciones que se van a utilizar.

// Declaramos la clase

class CalcularPerimetro // llamamos la clase con (class) y nombre de la clase.

{ // Ejecutar la clase.

private: // declaramos privado lo que deseamos ocultar de la clase.

int lado1; // declaramos tipo y las variables del objeto circulo.

int lado2; // declaramos tipo y las variables del objeto cuadrado.

public: // declaramos los constructores y métodos como público.

CalcularPerimetro (int lado1, int lado2); // nombramos el constructor sin

parámetro

~CalcularPerimetro(); // nombramos el destructor.

int calcularCuadrado (int lado1); // declaramos tipo, métodos del objeto

circulo y las variables que contiene el objeto. int

calcularCuadrado (int lado); // declaramos tipo, métodos del objeto

cuadrado y las variables que contiene el objeto

}; // Cerramos la clase.

Posibles errores de consola y errores más comunes en c++ y como los

encontrarán.

Los posibles errores que ponemos encontrar se clasificas de la siguiente manera:

Por sintaxis: son aquellos errores que son fácil de detectar en el código fuente del

programa, son detalles que pasan por alto, en un momento de fan podríamos decir,

que a la hora de ejecutar nos aparece error y se produce cuando escribimos

incorrectamente algún aparte del código.

PÁGINA 21

Ejemplo:

include <stdio.h>

imt main()

{

int a, b;

a = 4;

b = a * 6;

printf( "%d", b )

retunr 0;

}

Existen cuatro errores de sintaxis:

Se ha escrito include en vez de #include.

Se ha escrito imt en vez de int.

Falta un punto y coma (;) después de la llamada a printf.

Se ha escrito retunr en vez de return.

Por ejecución: son aquellos que cuando el programa funciona correctamente sin

errores de sintaxis, se produce cuando el programa no ejecuta algunas

instrucciones de forma correcta.

Ejemplo:

#include <stdio.h>

int main()

{

int a;

float b;

a = 0;

b = 6.4 / a;

printf( "%f", b );

return 0;

}

Se produce un error de ejecución, ya que, al intentar evaluar la expresión:

6.4/a; ‘a’ vale 0, y no se puede dividir entre cero.

PÁGINA 22

Por lógica: son más complicados de detectar.es los que el programa se ejecuta

correctamente pero no funciona bien esto es debido a un error lógico que se

produce cuando los resultados obtenidos no son los esperados. Como podemos

ver a continuación.

Ejemplo:

#include <stdio.h>

int main()

{

float base, altura;

base = 6.3;

altura = 4.;

printf( "El area es: %f", base * altura / 3 );

return 0;

}

Su salida por pantalla es:

El área es: 8.4

No existen errores de sintaxis ni de ejecución, sin embargo, la salida esperada es:

El área es: 12.6

Por consiguiente, existe algún error lógico que hay que corregir. El error está en la

expresión:

Base * altura / 3

Que, aunque no es incorrecta, no sirve para calcular el área de un triángulo. En su

lugar se debe escribir:

Base * altura / 2

PÁGINA 23

Test.

1. ¿Los paradigmas de la Programación Orientada a Objetos (POO) son?

b) Herencia

c) Extensibilidad

d) Polimorfismo

e) Encapsulamiento

2. ¿Las características fundamentales de un “objeto” son:?

a) Estado

b) Identificación

c) Comportamiento

d) Clasificación

3. ¿Es una agrupación de objetos con características semejantes:?

a) atributo

b) método

c) objeto

d) Clase

4. ¿El encapsulamiento?

a) Proteger las características de un objeto

b) Implementar la reutilización y extensibilidad del Software

c) Modificar los métodos heredados de una superclase

5. Los paradigmas de la Programación Orientada a Objetos (POO) son:

a) Herencia

PÁGINA 24

b) Extensibilidad

c) Polimorfismo

d) Encapsulamiento.

6. Las características fundamentales de un “objeto” son:

a) Estado

b) Identificación

c) Comportamiento

d) Clasificación

7. Es una agrupación de objetos con características semejantes

a) Atributo

b) método

c) objeto

d) Clase

8. El encapsulamiento

a) Proteger las características de un objeto

b) Implementar la reutilización y extensibilidad del Software

c) Modificar los métodos heredados de una superclase

9. ¿Cuál es la descripción que crees que define mejor el concepto 'clase' en la

programación orientada a objetos?

a) Es un concepto similar al de 'array'

b) Es un tipo particular de variable

c) Es un modelo o plantilla a partir de la cual creamos objetos

d) Es una categoría de datos ordenada secuencialmente

10. ¿Qué elementos crees que definen a un objeto?

PÁGINA 25

a) Sus cardinalidad y su tipo

b) Sus atributos y sus métodos

c) La forma en que establece comunicación e intercambia mensajes

d) Su interfaz y los eventos asociados