Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Qu cosa es?
Mi perro come El cndor vuela Las aves vuelan Los animales comen Mi perro vuela El pingino vuela x vuela
u es un Tipo?
Un conjunto de valores
pos built-in
Todos los LPs manejan tipos
Tipos bsicos, integrados (built-in). float, int, long, bool, string en C#
Tienen una sintaxis para representar valores literalmente de manera directa "abc" , true , 23 , 14.55 , false Son los pilares de partida para construir nuevos tipos Suele haber operaciones en el LP para trabajar con ellos "abc" + "def", p && q 23*14.55, a<=b
pos built-in
Por lo general son simples (atmicos) y tienen una representacin directa en el hardware (enteros, float, bool en C#). Pero no necesariamente todos los built-in tienen que ser simples. Ejemplo COMPLEX en FORTRAN, string en C#
en C# los valores se representan por enteros pero salvo el bool no hay otros enum buil-in
morado}
Las operaciones (mtodos, funciones) que expresan la funcionalidad de estos tipos no estn sintcticamente integradas a estas formas de descripcin
Encapsula en una misma construccin sintctica la composicin de valores y las operaciones que el tipo ofrece
Encapsula en una misma definicin los tipos que lo componen y las funciones que ellos ofrecen
Peligros?
Si podemos interactuar directamente con los datos entonces para qu los mtodos
Encapsula en una misma construccin sintctica la composicin de valores y las operaciones que el tipo ofrece
Encapsula en una misma definicin los tipos que lo componen y las funciones que ellos ofrecen
Peligros?
Si podemos interactuar directamente con los datos entonces para qu los mtodos
Visibilidad
ropiedades
La puedo consultar
AZUCAR SINTCTICO
No la puedo cambiar!
Eiffel
En el lenguaje Eiffel las variables de instancia son pblicas by default pero solo en lectura (es decir se pueden ver pero no modificar) Eiffel presupone que si se quiere provocar un cambio en una variable de instancia esto debe hacerse a travs de un mtodo
Abstraccin
El encapsulamiento en el paradigma OO para definir tipos es un gran paso en la abstraccin que unifica sintcticamente la definicin pero independiza al cdigo cliente de los aspectos internos de implementacin
La Separacin del Qu del Cmo Declaro lo Que ofrezco y No Cmo lo voy a implementar
CM O
QU
Referencia Uniforme La forma en que se usa no depende de cmo se implementa. Un cambio en la implementacin no cambia el cdigo de los que la usan Cmo lo resolvera Eiffel?
rmas de tipado
Fuertemente tipado (strong typing)
No hay inconsistencias en el uso de los tipos, todas son detectadas
aracin de entidades
Con una declaracin a una entidad se le asocia un significado
Persona x; int k = 2;
erencia de Tipo
El tipo se infiere del contexto. Por ejemplo el tipo de una variable cuando aparece por primera vez en parte izquierda de una asignacin se puede inferir del tipo de la parte derecha Util para evitar tener que escribir el nombre del tipo O cuando no recordamos el nombre del tipo pero s sabemos el mtodo que queremos invocar
s Annimos en C#
Se puede construir objetos sin explcitamente definir un tipo. Quien lo va a usar es el que tiene que saber lo que le interesa de ese objeto Tienen el mismo tipo annimo Lamentablemente no es posible