ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
POO
1. José Luis Dorado Belalcazar - 1367627| IPOO | [Fecha]
QUIZ
MANUAL DE C++ ORIENTADA A OBJETOS.
2. 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.
3. 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
Imperativos
Conjunto de instrucción
secuenciales
Declarativos
Funcionales
Basados en funciones
formadas por
expresiones, los datos
llegan a ellas por una
serie de argumentos.
Lógicos
Basado 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
4. 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.
5. 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
6. 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.
7. 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
8. 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
9. 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 //
}
10. 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.
11. 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
13. 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;
14. 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
15. 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.
16. 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
17. 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;
18. 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());
}
}
19. 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";
20. 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.
21. 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.
22. 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.
23. 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
24. 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
25. 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?
26. 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