Poo

Enviado por Programa Chuletas y clasificado en Otras materias

Escrito el en español con un tamaño de 3,96 KB

 
Compo vs her:compo:se usa gneralmente qando se quieren ls caracteristicas de una clase pero no en su interfaz. Se ve el interfaz de la clase pero no de la original,+flexible,se define dinamicamente en tº de ejec.Herecia:no puede cambiarse,estatico,viola el encapsulamiento,importa struc a subclases.permite def + escueta de la clase,es ligeramente + eficaz que la compo
Genericidad vs herencia:gen:permite rehusar codigo fuente y crea familia completa de clases o funciones.Herencia:permite rehusar codigo objeto y es necesario codificar cada una de las clases involucradas
Uso herencia implem:seguro:la redefinicion de metodos solo deberia usarse para hacer las prop + especificas:constreñir restricciones-extender funcionalidad;2 definiciones para clases dereivada:-una clase der es una especializacion de la clase base:añade comportamiento y restringe condiciones de uso pero no modifica nada-una clase der es una especificacion de la calse base:define metodos indefinidos por el padre,no añade ni elimina nada.Inseguro:-Herencia de restriccion:no todo lo del padre sirve al hijo,ahorro de codigo pero problem de mantenimiento.-herencia de generalizacion:muy usual cuando no se puede tocar la clase padre.-herencia de conveniencia:la implementacion se parece a una herencia pero semanticamente los conceptos no tienen nada que ver,uso incorrecto
Herencia:es transitiva,reutilizacion de codigo y d conceptos.implementa la relacion de generalizacion(mec de reut de cod),pertenencia(tiene_un),variedad(es_un).Modificar lo heredado:-refinar(usar metoo antiguo):explicita(usar el antiguo en el nuevo codigo-para invocar a un constr que no sea el de x defect.Implicita:el destructor de la derivada llama al de la base.Sobreescribir



this:var polim,pto que refer al objeto que invoca al metodo,contiene la direcc* y el objeto this,no puede variar su direccion,solo en metodos de instancia,sta implicito,si se pone const cte.Herencia de construccion(herencia de impl pura)la herencia privada en c++ implementa un tipo de herencia que si preserva el piio de sustituibilidad
Alter a la overload:cohercion:estandard:double+int,defniida:sobrecarga constructores.conversion(explicita):sobrecarga operadores como met de lase(double(){return sqrt)pow(x,2.0)+(pow,y,3.0));} double coordenada+7,0

visibilidad de los atributos:permite preservar el piio de encapsulacion,encapsulacion:mecanismo que permite separar Interfaz de Implementacion
uml:tiene una sola implementacion valida y siempre para un leng concreto.Errores:logic_error:domain error,invalid_adrgument,length_error(objt muy grande para ser def),out_of_range.runtime_error:range_error:valor def pero no representativo,overflow,underflow
propiadad c#:es una combinacion de atributo y operaciones l/e sobre ese atribuo.operadores fm(=[]()newdelete->),FNM(<<>>)ambas demas,no se puede cambiar precedencia asociatividad e aridad
polimorfismo:sobrecarga,polimorfismo en herencia:redef,shadow,sobreescr.var polimorf:,leng debilmente tip,fuertemente tipados,tipos:upcasting-polimorf simples(subtipos diferentes)polimorfismo puro(var polimorf como metodo de un arg),downcasting(polimorf invers)
genericidad:propiedad que permite definir una clase o funcion sin especificar el tipo de alguno o todos los parametros:sin restricc:no imposicion sobre los tipos que pueda adoptar los parametros genericos formales(restricc que imponga el propio cuerpo de plantila)con restricc(eiffel):permite que la legalidad de los arg s verifike en tº de compilacion

Entradas relacionadas: