Caracteristica de POO que permite definir nuevas clasesa partir de otras ya existentes
Herencia
Polimorfismo
Encapsulamiento
Sobre-escritura
Tipo de conexion entre clases que permite implementarrelaciones de tipo "es un"
Encapsulamiento
Polimorfismo
Herencia
Abstraccion
Cuando se desea incorporar en una clase las variables,propiedades y metodos de otra clase, entonces se imple-menta ...
Encapsulamiento
Polimorfismo
Herencia
Abstraccion
Cuando se presentan relaciones de tipo "es un", entonces se implementa herencia
Verdadero
Falso
Cuando se desea incorporar en una clase las variables,propiedades y metodos de otra clase, entonces se imple-menta herencia
Verdadero
Falso
Identifique la(s) relacion(es) en el sig. codigo:class A : B { public A() { .... }}
Herencia
Polimorfismo
Sobre-escritura
Ninguna de las anteriores
La relacion de herencia entre clases es jerarquica
Verdadero
Falso
Es la habilidad que tienen los objetos para reaccionarde manera diferente ante los mismos mensajes
Herencia
Polimorfismo
Encapsulamiento
Sobre-escritura
Posibilidad de definir varias clases con funcionalidaddiferente pero con metodos o propiedades definidos demanera identica
Herencia
Polimorfismo
Encapsulamiento
Sobre-escritura
El polimorfismo esta directamente relacionado con lasobrecarga y los metodos virtuales
Verdadero
Falso
Cuando un programa usa el mismo nombre en diferentes metodos con diferentes firmas, entonces se presenta ...
Herencia
Encapsulamiento
Sobrecarga
Sobre-escritura
El siguiente fragmento de codigo es un claro ejemplo de Estudiante.Asistir(); Estudiante.Asistir(12);
Herencia
Encapsulamiento
Sobrecarga
Sobre-escritura
La sobrecarga representa diferentes maneras de realizaruna misma accion
Verdadero
Falso
Para que se presente "sobre-escritura", debe haber relaciones de herencia
Verdadero
Falso
Cuando una clase derivada redefine los metodos y/o pro-piedades heredados, entonces se presenta ...
Abstraccion
Encapsulamiento
Sobrecarga
Sobre-escritura
Si una clase tiene metodos sobrecargados, entonces sepresenta una modalidad de polimorfismo
Verdadero
Falso
Si una clase tiene propiedades sobrecargadas, entoncesse presenta una modalidad de polimorfismo
Verdadero
Falso
Identifique el tipo de polimorfismo (si existe) en elsiguiente fragmento de codigo: class A { public void Usar() { ... } public void Usar(int x) { ... } public void Usar(string y) { ... } }
Parametrico
Sobrecarga
Subtipo
No se presenta polimorfismo
Se puede presentar polimorfismo cuando clases diferentes e independientes tienen metodos y/o propiedades conel mismo nombre
Verdadero
Falso
Identifique el tipo de polimorfismo (si existe) en elsiguiente fragmento de codigo: class A { public void Usar() { ... } } class B { public void Usar() { ... } }
Parametrico
Sobrecarga
Subtipo
No se presenta polimorfismo
Se puede presentar polimorfismo cuando clases derivadastienen metodos y/o propiedades sobre-escritos
Verdadero
Falso
Identifique el tipo de polimorfismo (si existe) en elsiguiente fragmento de codigo: class A { public virtual void Usar() { ... } } class B : A { public override void Usar() { ... } }
Parametrico
Sobrecarga
Subtipo
No se presenta polimorfismo
Cuando se sobrecargan metodos y/o propiedades de unaclase, entonces se presenta polimorfismo de sobrecarga
Verdadero
Falso
Cuando se sobrecargan metodos y/o propiedades de unaclase, entonces se presenta polimorfismo parametrico
Verdadero
Falso
Los metodos sobrecargados del polimorfismo parametricose identifican por medio de su firma
Verdadero
Falso
En el polimofismo parametrico, los metodos y/o propiedades sobrecargados se comportan de manera diferente
Verdadero
Falso
En el polimofismo parametrico, los metodos y/o propiedades sobrecargados se ubican en la misma clase
Verdadero
Falso
En el polimofismo parametrico, los metodos y/o propiedades sobrecargados se ubican en clases diferentes
Verdadero
Falso
En el polimofismo de sobrecarga, los metodos y/o propiedades que lo provocan se ubican en la misma clase
Verdadero
Falso
En el polimofismo de sobrecarga, los metodos y/o propiedades que lo provocan se ubican en clases diferentes
Verdadero
Falso
En el polimofismo de subtipo, se sobre-escriben algunosmetodos heredados
Verdadero
Falso
Cuando una clase define varios metodos con el mismo nombre pero diferente firma, entonces se presenta polimor-fismo ...
Parametrico
Sobrecarga
Subtipo
No se presenta polimorfismo
La sobrecarga del constructor es un ejemplo de polimor-fismo de tipo ...
Parametrico
Sobrecarga
Subtipo
No se presenta polimorfismo
Cuando una clase define varios metodos con el mismo nombre pero diferente firma, entonces se presenta polimor-fismo parametrico
Verdadero
Falso
Cuando una clase define varios metodos con el mismo nombre pero diferente firma, entonces se presenta polimor-fismo de sobrecarga
Verdadero
Falso
Cuando una clase define varios metodos con el mismo nombre pero diferente firma, entonces se presenta polimor-fismo de subtipo
Verdadero
Falso
Cuando una clase define varios metodos sobrecargados,entonces se presenta polimorfismo de sobrecarga
Verdadero
Falso
Cuando una clase define varios metodos sobrecargados,entonces se presenta polimorfismo parametrico
Verdadero
Falso
Cuando una clase define varios metodos sobrecargados,entonces se presenta polimorfismo de subtipo
Verdadero
Falso
La combinacion de herencia y metodos sobre-escritos producen un comportamiento polimorfico
Verdadero
Falso
La combinacion de herencia y metodos sobre-escritos producen un comportamiento polimorfico parametrico
Verdadero
Falso
La combinacion de herencia y metodos sobre-escritos producen un comportamiento polimorfico de sobrecarga
Verdadero
Falso
La combinacion de herencia y metodos sobre-escritos producen un comportamiento polimorfico de subtipo
Verdadero
Falso
La combinacion de herencia y metodos sobre-escritos producen polimorfismo ...
Parametrico
Sobrecarga
Subtipo
Ninguno de los anteriores
Si una clase base define un metodo abstracto, entoncesobliga la implementacion de dicho metodo en sus clasesderivadas
Verdadero
Falso
Un metodo abstracto de una clase base debe ser implementado en sus clases derivadas
Verdadero
Falso
Un metodo abstracto de una clase base no puede ser implementado en sus clases derivadas
Verdadero
Falso
Si diferentes clases tienen un metodo con el mismo nom-bre pero comportamiento diferente, entonces se produceun comportamiento polimorfico
Verdadero
Falso
Si diferentes clases tienen un metodo con el mismo nom-bre pero comportamiento diferente, entonces se produceun comportamiento polimorfico parametrico
Verdadero
Falso
Si diferentes clases tienen un metodo con el mismo nom-bre pero comportamiento diferente, entonces se produceun comportamiento polimorfico de sobrecarga
Verdadero
Falso
Si diferentes clases tienen un metodo con el mismo nom-bre pero comportamiento diferente, entonces se produceun comportamiento polimorfico de subtipo
Verdadero
Falso
Cuando una clase derivada redefine los metodos y/o pro-piedades heredados mediante la sobre-escritura, entonces se produce un comportamiento polimorfico
Verdadero
Falso
Cuando una clase derivada redefine los metodos y/o pro-piedades heredados mediante la sobre-escritura, entonces se produce un comportamiento polimorfico parametri-co
Verdadero
Falso
Cuando una clase derivada redefine los metodos y/o pro-piedades heredados mediante la sobre-escritura, entonces se produce un comportamiento polimorfico desobrecarga
Verdadero
Falso
Cuando una clase derivada redefine los metodos y/o pro-piedades heredados mediante la sobre-escritura, entonces se produce un comportamiento polimorfico desubtipo
Verdadero
Falso
Tipo de metodo definido en una clase base para ser sobreescrito en sus clases derivadas
abstract
virtual
override
Todas las anteriores
Un metodo virtual puede ser sobre-escrito en una clasederivada
Verdadero
Falso
Una clase base puede utilizar la palabra reservada"override" para definir un metodo y que pueda ser sobreescrito
Verdadero
Falso
Una clase base utiliza la palabra reservada "virtual"para definr un metodo y que pueda ser sobre-escrito
Verdadero
Falso
Una clase derivada utiliza la palabra reservada"override" para sobre-escribir un metodo
Verdadero
Falso
Una clase derivada utiliza la palabra reservada"virtual" para sobre-escribir un metodo
Verdadero
Falso
Un metodo virtual PUEDE ser sobre-escrito o utilizarsetal como esta
Verdadero
Falso
Un metodo virtual DEBE ser sobre-escrito
Verdadero
Falso
Una clase derivada SIEMPRE debe redefinir un metodo virtual
Verdadero
Falso
Una clase derivada PUEDE utilizar un metodo virtual talcomo esta definido en la clase base
Verdadero
Falso
Se puede sobre-escribir un metodo abstracto de una clase base
Verdadero
Falso
Se puede sobre-escribir un metodo virtual de una clasebase
Verdadero
Falso
Se puede sobre-escribir un metodo definido como"override"
Verdadero
Falso
Un metodo sobre-escrito debe mantener el mismo nivel deacceso que su respectivo metodo virtual
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: class A { public virtual void Calcular() { ... } } class B : A { public override void Calcular() { ... } }
Verdadero
Falso
Para implementar polimorfismo es necesario que exista:
Agregacion
Composicion
Herencia
Una clase abstracta
Es correcto el siguiente fragmento de codigo: class A { public override void Calcular() { ... } } class B : A { public virtual void Calcular() { ... } }
Verdadero
Falso
Al definir un metodo "virtual" en una clase base, se leprepara para ser sobre-escrito
Verdadero
Falso
Para evitar la sobre-escritura de un metodo en futurasclases derivadas, entonces se declara como "overridesealed"
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: class A { public virtual void Hacer() { ...} } class B : A { public override sealed void Hacer() { . . . } class C : B { public override void Hacer() { ... } }
Verdadero
Falso
Si una clase base tiene definido un metodo virtual lla-mado Calcular(), Como se sobre-escribe dicho metodo enuna clase derivada ?
public virtual void Calcular() { ... }
public override void Calcular() { ... }
public abstract void Calcular() { ... }
No se puede sobre/escribir
En una clase base, Como se prepara un metodo llamadoCalcular() para que pueda ser sobre-escrito en algunasclases derivadas ?
public virtual void Calcular() { ... }
public override void Calcular() { ... }
public abstract void Calcular() { ... }
Todas las anteriores
En una clase base, Como se prepara un metodo llamadoCalcular() para que pueda ser sobre-escrito en algunasclases derivadas ?
public virtual void Calcular() { ... }
public abstract void Calcular() { ... }
public override void Calcular() { ... }
Todas las anteriores
Es correcto el siguiente fragmento de codigo: class A { public virtual void Hacer() { ...} } class B : A { public override void Hacer() { . . . } class C : B { public override void Hacer() { ... } }
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: class A { public virtual void Hacer() { ...} } class B : A { public override void Hacer() { . . . } class C : B { public override sealed void Hacer() { ... } }
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: class A { public void Hacer() { ...} } class B : A { public override void Hacer() { ... } }
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: class A { public abstract void Hacer(); } class B : A { public override void Hacer() { ... } }
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: class A { public abstract void Hacer(); } class B : A { public override void Hacer() { ... } } class C : B { public override void Hacer() { ... } }
Verdadero
Falso
Se puede reemplazar un metodo heredado por otro nuevo,diferente, con el mismo nombre y la misma firma e introducirlo en la jerarquia de clases
Verdadero
Falso
Si se reemplaza un metodo heredado por uno nuevo, entonces se "sustituye" el codigo del nuevo metodo por el dela clase base
Verdadero
Falso
Se puede ocultar un metodo heredado e introducir unonuevo a la jerarquia de clases
Verdadero
Falso
Para ocultar un metodo heredado e introducir uno nuevoa la jerarquia de clases, es necesario que clase baselo defina como "virtual"
Verdadero
Falso
Para ocultar un metodo heredado e introducir uno nuevoa la jerarquia de clases, es necesario que clase baselo defina como "abstract"
Verdadero
Falso
Para ocultar un metodo heredado e introducir uno nuevoa la jerarquia de clases, es necesario que clase baselo defina como "override"
Verdadero
Falso
Si tiene el siguiente fragmento de codigo: class A { public void Pintar() { ... } }Como se oculta dicho metodo en una clase B derivada dela clase A ( class B : A ) ?
public override void Pintar() { ... }
public abstract void Pintar() { ... }
public new void Pintar() { ... }
Ninguna de las anteriores
En una clase derivada, Para ocultar y sustituir un metodo heredado e introducirlo a la jerarquia de clases sele antepone la palabra "new"
Verdadero
Falso
En una clase derivada, Para ocultar y sustituir un metodo heredado e introducirlo a la jerarquia de clases sele antepone la palabra "virtual"
Verdadero
Falso
En una clase derivada, Para ocultar y sustituir un metodo heredado e introducirlo a la jerarquia de clases sele antepone la palabra "abstract"
Verdadero
Falso
En una clase derivada, Para ocultar y sustituir un metodo heredado e introducirlo a la jerarquia de clases sele antepone la palabra "sealed"
Verdadero
Falso
Se puede sobrecargar el destructor de una clase
Verdadero
Falso
La diferencia entre sobrecarga y polimorfismo es que laprimera se presenta en tiempo de compilacion y el poli-morfismo se presenta en tiempo de ejecucion
Verdadero
Falso
La diferencia entre sobrecarga y polimorfismo es que laprimera se presenta en tiempo de ejecucion y el polimorfismo se presenta en tiempo de compilacion
Verdadero
Falso
Las clases abstractas obligan la herencia
Verdadero
Falso
Las interfaces obligan la herencia
Verdadero
Falso
Una clase abstracta es lo mismo que una interfase
Verdadero
Falso
Una clase abstracta puede ser instanciada
Verdadero
Falso
Una interfase puede ser instanciada; es decir, se pueden crear objetos de ella
Verdadero
Falso
Una clase abstracta puede ser heredada
Verdadero
Falso
Una interfase puede ser heredada
Verdadero
Falso
Se pueden crear objetos de una clase abstracta
Verdadero
Falso
Se pueden crear objetos de una interfase
Verdadero
Falso
Una clase abstracta puede heredar de otras clases
Verdadero
Falso
Una clase abstracta puede heredar de interfaces
Verdadero
Falso
Una clase abstracta puede contener atributos (datos)
Verdadero
Falso
Una clase abstracta puede contener implementacion de metodos y propiedades
Verdadero
Falso
Los miembros abstractos de una clase deben ser implementados en las clases derivadas
Verdadero
Falso
En UML, una clase abstracta se representa con el nombreen italicas
Verdadero
Falso
En UML, una clase abstracta se representa con el nombresubrayado
Verdadero
Falso
En UML, una clase abstracta se representa con el nombrerepintado (bold)
Verdadero
Falso
En UML, un miembro abstracto de una clase se representaen italicas
Verdadero
Falso
En UML, un miembro abstracto de una clase se representasubrayado
Verdadero
Falso
En UML, un miembro abstracto de una clase se representarepintado (bold)
Verdadero
Falso
Un metodo abstracto de una clase contiene el codigo desu implementacion
Verdadero
Falso
Una clase abstracta solamente puede tener miembros abs-tractos
Verdadero
Falso
Una clase abstracta puede tener combinaciones de meto -dos abstractos y metodos normales
Verdadero
Falso
Como se declara una clase abstracta llamada Persona
class abstract Persona
abstract class Persona
class Persona abstract
class Abstract Persona
Se pueden definir miembros abstractos dentro de una clase abstracta
Verdadero
Falso
Se pueden definir miembros abstractos dentro de una clase no abstracta
Verdadero
Falso
En una clase derivada, los metodos abstractos heredadosse definen como "override"
Verdadero
Falso
En una clase derivada, los metodos abstractos heredadosse definen como "virtual"
Verdadero
Falso
Una interfase contiene la implementacion de sus metodosy/o propiedades
Verdadero
Falso
Una interfase contiene atributos (datos)
Verdadero
Falso
Una interfase puede heredar de otras clases
Verdadero
Falso
Una interfase puede heredar de otras interfaces
Verdadero
Falso
La diferencia entre una clase abstracta y una interfasees que esta ultima no contiene datos
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: abstract class Vehiculo { . . . } Vehiculo Avion = new Vehiculo();
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: abstract class Vehiculo { public abstract void Encender(); } class Auto : Vehiculo { public override void Encender() { ... } }
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: abstract class Vehiculo { public virtual void Encender(); } class Auto : Vehiculo { public override void Encender() { ... } }
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: class Vehiculo { public abstract void Encender(); } class Auto : Vehiculo { public override void Encender() { ... } }
Verdadero
Falso
Se puede sobre-escribir un metodo definido "abstract"
Verdadero
Falso
Se puede sobre-escribir un metodo definido "virtual"
Verdadero
Falso
Se puede sobre-escribir un metodo definido "override"
Verdadero
Falso
Se puede definir un metodo abstracto en una clase abstracta
Verdadero
Falso
Se puede definir un metodo abstracto en una clase noabstracta
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: abstract class Vehiculo { public abstract void Encender() { . . . } } class Auto : Vehiculo { public override void Encender() { ... } }
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: class Vehiculo { public abstract Encender(); } class Auto : Vehiculo { public override Encender() { . . . } } class AutoCompacto : Auto { public override void Encender() { ... } }
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: class Vehiculo { public override Encender() {...} } class Auto : Vehiculo { public override Encender() { . . . } } class AutoCompacto : Auto { public override void Encender() { ... } }
Verdadero
Falso
Es correcto el siguiente fragmento de codigo: class Vehiculo { public abstract Encender() {...} } class Auto : Vehiculo { public override Encender() { . . . } } class AutoCompacto : Auto { public override void Encender() { ... } }
Verdadero
Falso
Como se define un metodo de una clase para que puedaser sobre-escrito ?
virtual
abstract
override
Todas las anteriores
Es correcto el siguiente fragmento de codigo: abstract class Vehiculo { public abstract Encender(); public virtual Apagar() { ... } } class Auto : Vehiculo { public override void Encender() { ... } public override void Apagar() { ... } }
Verdadero
Falso
Una clase que declara metodos virtuales ...
nunca es abstracta
puede ser abstracta
siempre es abstracta
no seria una clase, sino una interfase
Considere el siguiente codigo: abstract class A { public double Consultar(); }Considere una clase B que hereda de A. Como se sobre-escribe el metodo Consultar() en la clase derivada ?
public override double Consultar() { ... }
public double Consultar() { ... }
public override double consultar() { ... }
Ninguna de las anteriores
Un metodo abstracto puede contener implementacion; esdecir, puede tener codigo
Verdadero
Falso
Un metodo abstracto obliga la sobre-escritura
Verdadero
Falso
En una clase, Como se puede declarar un metodo llamadoCalcular() para que pueda ser sobre-escrito en lasclases derivadas ?
public virtual void Calcular() { ... }
public abstract void Calcular();
public override void Calcular() { ... }
Todas las anteriores
En una clase, Como se puede declarar un metodo llamadoCalcular() para que pueda ser sobre-escrito en lasclases derivadas ?
public void Calcular();
public void abstract Calcular() { . . . }
public void override Calcular();
Ninguna de las anteriores
Una clase abstracta puede contener datos (atributos)
Verdadero
Falso
Como se define un metodo de una clase base para que pueda ser redefinido en una clase derivada
virtual
override
abstract
Todas las anteriores
Como se define un metodo de una clase derivada parasobreescribirlo
virtual
override
abstract
Todas las anteriores
Definicion de un metodo en una clase base que no contiene implementacion
virtual
abstract
override
sealed
Definicion de un metodo en una clase para impedir lasobreescritura en clases derivadas sucesivas
virtual
abstract
override
sealed
Como se declara una clase llamada Auto que implementael metodo de la interfase IEquatable
class Auto : IEquatable
class Auto : IEquatable<>
class Auto : IEquatable<Auto>
Ninguna de las anteriores
Como se declara una clase llamada Auto que implementael metodo de la interfase IComparable
class Auto : IComparable<>
class Auto : IComparable<Auto>
class Auto : IComparable (Auto)
class Auto : IComparable Auto
Nombre de la interfase del framework que contiene unafuncion booleana para determinar si dos objetos soniguales
IEqualable
IEnumerable
IEquatable
Ninguna de las anteriores
Nombre de la interfase del framework que sirve para determinar si un objeto es menor que otro
IComparable
IEnumerable
IEquatable
Ninguna de las anteriores
Metodo de una interfaz del Framework que devuelve un valor booleano para determinado si un objeto especificadoes igual a otro
CompareTo()
==
=
Equals()
Metodo de una interfaz del Framework que compara la instancia actual con otro objeto del mismo tipo para determinar el orden relativo de los objetos comparados
CompareTo()
<, >, <=, >=, ==, !=
Compare()
Equals()
Si se declara ... class Auto:IEquatable<Auto> { public string Placas { get; set; } }Como se declara el metodo para comparar si dos autosson iguales ?
public void Equals(Auto x)
public int Equals(Auto x)
public bool Equals(Auto x)
private bool Equals(Auto x)
Si se declara ... class Auto:IComparable<Auto> { public string Placas { get; set; } }Como se declara el metodo para comparar el orden relativo de dos autos ?
public void CompareTo(Auto x)
public int CompareTo(Auto x)
public bool CompareTo(Auto x)
private int CompareTo(Auto x)
Si se declara ... class Persona : IEquatable<Persona> { public int Edad { get; set; } public bool Equals(Persona x) { ... } }Como se implementa el metodo para comparar si dos personas tienen la misma edad ?
return( if(this.Edad == x.Edad) );
return( this.Edad = x.Edad );
return( this.Edad == x.Edad );
return( Edad == x.Edad );
Si se declara ... class Persona : IComparable<Persona> { public int Edad { get; set; } public int CompareTo(Persona x) { ... } }Como se implementa el metodo para determinar si una persona es mayor que otra ?
if(this.Edad > x.Edad) return 1; else return 0;
return( this.Edad > x.Edad );
if(this.Edad >= x.Edad) return 1; else return 0;
return( Edad > x.Edad );
Se puede implementar tanto el metodo Equals() de la in-terfase IEquatable como el metodo CompareTo() de la in-terfase IComparable en una misma clase
Verdadero
Falso
Como se define una clase llamada Auto que desea imple-mentar el metodo Equals() de la interfase IEquatable yel metodo CompareTo() de la interfase IComparable ?
class Auto : IEquatable, IComparable
class Auto : IEquatable<Auto>, IComparable<Auto>
class Auto : IEquatable<Auto> IComparable<Auto>
No se pueden implementar dos interfaces en una clase
Si una clase implementa de varias interfaces, entoncesse considera herencia multiple
Verdadero
Falso
La siguiente interfase: interface Auto { string placas; string MostrarDatos(); }Es incorrecta porque ...
El nombre de la interfase no comienza con "I"
No se ha colocado abstract o virtual en sus elementos
Se ha definido un atributo dentro de la interfase
Se ha omitido el modificador de acceso "public"
La sobrecarga del constructor es un ejemplo de polimor-fismo
Verdadero
Falso
El destructor de una clase puede provocar comportamien-to polimorfico al objeto correspondiente