Publicado el 10 de Mayo del 2019
923 visualizaciones desde el 10 de Mayo del 2019
807,2 KB
52 paginas
Creado hace 18a (02/02/2007)
Estudio comparativo de
Estudio comparativo de
distintos lenguajes de
distintos lenguajes de
programacióón orientados a
n orientados a
programaci
objeto
objeto
Cristo Manuel Amezcua Martínez
Felipe Molina de la Torre
Marta Moreno Mata
David Rivas Ortega
Orientacióón a Objetos
n a Objetos
Orientaci
Herencia
Herencia
Polimorfismo
Polimorfismo
Encapsulacióónn
Encapsulaci
C++C++
OrOríígenes:
genes:
–– BCPL
BCPL
–– BB
–– CC
Historia:
Historia:
–– Construido originalmente como una
Construido originalmente como una
herramienta dentro de un sistema de
herramienta dentro de un sistema de
programacióón, as
programaci
de compiladores
de compiladores
n, asíí como para el desarrollado
como para el desarrollado
C++.Caracteríísticas(I)
sticas(I)
C++.Caracter
–– Es un lenguaje de nivel medio. Combina elementos de lenguaje de
Es un lenguaje de nivel medio. Combina elementos de lenguaje de alto nivel
alto nivel
con la funcionalidad del lenguaje ensamblador
con la funcionalidad del lenguaje ensamblador
–– Estructurado: Permite crear procedimientos en bloques dentro de
Estructurado: Permite crear procedimientos en bloques dentro de otros
otros
procedimientos
procedimientos
–– EstEstáándar: Permite utilizar el mismo c
ndar: Permite utilizar el mismo cóódigo en diferentes equipos y sistemas
digo en diferentes equipos y sistemas
informááticos
ticos
inform
– Permite variables de referencia
–– Es independiente de la arquitectura de cualquier m
Es independiente de la arquitectura de cualquier mááquina en particular
quina en particular
C++.Caracteríísticas(II)
sticas(II)
C++.Caracter
– No es fuertemente tipado: Se permiten operaciones con objetos de
distintos tipos
– Proporciona el concepto de clase
– Es posible sobrecargar operadores con clases definidas por el usuario
– Soporta tipos parametrizados o templates
– Soporta herencia multiple y polimorfismo
– No tiene colector de basura
– Utilización de punteros
C++.Caracteríísticas
C++.Caracter
sticas (III)
(III)
– Viene con dos librerías Estándar:
La Standard Library proporciona todas las viejas
librerías de C así como también las facilidades de
entrada y salida
La STL proporciona una librería de tipos de
contenedores así como un conjunto de algoritmos
de propósitos generales
C++C++
Tipos de datos:
Tipos de datos:
[-128 , 127]
Hay 4 tipos básicos:
– Char 1 byte
– Int
– Float 4 bytes [3'4 E-38 , 3'4 E+38]
– Double
2 bytes [-32768 , 32767]
8 bytes [1'7 E-308 , 1'7 E+308]
Calificadores de tipo : Tienen la misión de modificar el rango de
valores
– Signed - Unsigned
– Short – long
C++C++
GestiGestióón de memoria:
n de memoria:
Memoria estática
Los objetos son creados al entrar en el bloque y destruidos sólo al
finalizar el mismo. Mantienen la misma localización en memoria
durante todo el transcurso del programa (en el ‘stack’).
Memoria dinámica
Tanto la creación como la destrucción de objetos está en manos del
programador, a través de los operadores 'new' y 'delete'. Se
almacena en el 'heap'
C++C++
Programacióón visual:
n visual:
Programaci
Borland C++ Builder: es una versión ampliada del entorno de programación
de delphi, pero adaptado al lenguaje C++.
Visual C++: Parte del visual studio de Microsoft. Es el compilador más
vendido del mercado
NeatBeans for C++: NetBeans es un entorno orientado para java, pero es
posible añadirle extensiones para poder utilizar C++ sobre él
Visual Age for C++
JavaJava
Fue diseññado en 1990 por la empresa Sun
ado en 1990 por la empresa Sun
Fue dise
Microsystems, como software para dispositivos
Microsystems, como software para dispositivos
electróónicos de consumo
nicos de consumo
electr
Motivos de su creacion:
Motivos de su creacion:
–– Interfaces mucho m
Interfaces mucho máás cs cóómodas e intuitivas
modas e intuitivas
–– Fiabilidad del c
Fiabilidad del cóódigo y facilidad de desarrollo
digo y facilidad de desarrollo
–– Escribe un c
Escribe un cóódigo com
dispositivos.
dispositivos.
digo comúún para todos los
n para todos los
Caracteríísticas Generales
sticas Generales
Caracter
Orientado a Objetos
Orientado a Objetos
Riqueza Semáánticantica
Riqueza Sem
Robusto
Robusto
FFáácil Aprendizaje
cil Aprendizaje
Altamente portable
Altamente portable
Trabajo en Red
Trabajo en Red
Caracteríísticas Generales
sticas Generales
Caracter
Seguridad
Seguridad
–– Restricciones al acceso a
–– Verificaci
Restricciones al acceso a memoria
memoria
Verificacióón del nombre de clase y de restricciones
n del nombre de clase y de restricciones
de acceso durante la carga.
de acceso durante la carga.
–– Sistema de seguridad de la interfaz
Sistema de seguridad de la interfaz
Caracteríísticas Generales
sticas Generales
Caracter
ni punteros. .
struct, union ni punteros
Lenguaje basado en C++
Lenguaje basado en C++
–– Java no soporta los tipos
Java no soporta los tipos struct, union
No soporta typedef ni #define.
No soporta typedef ni #define.
No permite una sobrecarga de operadores.
No permite una sobrecarga de operadores.
No soporta herencia múúltiple.
ltiple.
No soporta herencia m
Java maneja argumentos en la líínea de comandos de forma
nea de comandos de forma
Java maneja argumentos en la l
diversa a como lo hacen C o C++.
diversa a como lo hacen C o C++.
se diferencia de la matriz de caracteres terminada con un nulo
se diferencia de la matriz de caracteres terminada con un nulo
que usan C y C++
que usan C y C++
sistema automautomáático para asignar y liberar memoria,
tico para asignar y liberar memoria,
sistema
Caracteríísticas Generales
sticas Generales
Caracter
GestiGestióón de la Entrada/Salida
n de la Entrada/Salida
–– En lugar de utilizar primitivas como las de C para
En lugar de utilizar primitivas como las de C para
trabajar con ficheros, se utlizan primitivas similares
trabajar con ficheros, se utlizan primitivas similares
a las de C++, mucho máás elegantes, que permiten
s elegantes, que permiten
a las de C++, mucho m
tratar los ficheros, sockets, teclado y monitor como
tratar los ficheros, sockets, teclado y monitor como
flujos de datos.
flujos de datos.
Sintaxis
Sintaxis
Modificadores de Clases
de Clases
Modificadores
–– abstract
abstract
–– final
final
–– public
public
–– synchronizable
synchronizable
GestiGestióón de Memoria y Recursos
n de Memoria y Recursos
Ausencia de punteros
Ausencia de punteros
–– No se podr
No se podráá referenciar posiciones de memoria
referenciar posiciones de memoria
especííficas no reservadas
ficas no reservadas
espec
Gestion de Memoria
Gestion de Memoria
–– No hay que reservar memoria.
No hay que reservar memoria.
–– Se instacian objetos
Se instacian objetos
Recogida de Basura
Recogida de Basura
–– Tiene recolector de basura.
Tiene recolector de basura.
GestiGestióón de Memoria y Recursos
n de Memoria y Recursos
Arrays con comprobacióón de limites
n de limites
Arrays con comprobaci
Referencias a objetos fuertemente tipadas
tipadas..
Referencias a objetos fuertemente
Impide conversiones de tipo y castings
Casting seguro
Casting seguro
–– SSóólo se permite casting entre ciertas
lo se permite casting entre ciertas
primitivas de lenguaje (ints, longs) y entre
primitivas de lenguaje (ints, longs) y entre
objetos de la misma rama del áárbol de
rbol de
objetos de la misma rama del
herencia
herencia
Programacióón Visual
n Visual
Programaci
Dos galerias de componentes visuales que
Dos galerias de componentes visuales que
proporciona java
proporciona java
–– JAVA AWT:
JAVA AWT:
Frames, Windows, Dialog, etc……
Frames, Windows, Dialog, etc
–– JAVA SWING
JAVA SWING
Panels, contenedores, etc……
Panels, contenedores, etc
Programacióón Visual
n Visual
Programaci
Controles basicos
Controles basicos
–– Button ,Chekboxes ,Choice ,List ,Menu ,Text Field,
Button ,Chekboxes ,Choice ,List ,Menu ,Text Field,
Slider ,Scrollbar ,Text Area ,Canvas ,Label ,Panel
Slider ,Scrollbar ,Text Area ,Canvas ,Label ,Panel
,Scroll Pane
,Scroll Pane
Eventos y respuesta al Usuario
Eventos y respuesta al Usuario
–– Un evento aparece cuando hay interacci
Un evento aparece cuando hay interaccióón con el
n con el
usuario.Ejemplos:
usuario.Ejemplos:
Eventos de raton
Eventos de raton
(Arrastrar el raton)
(Arrastrar el raton)
(Se maximiza o minimiza una ventana )
(Se maximiza o minimiza una ventana )
Eventos de teclado
Eventos de teclado
Programacióón Visual
n Visual
Programaci
Existen diferentes entornos de desarrollo
Existen diferentes entornos de desarrollo
para Java, como Eclipse, NetBeans,
para Java, como Eclipse, NetBeans,
JBuilder, etc……
JBuilder, etc
C#C#
C# se trata de un lenguaje relativamente
C# se trata de un lenguaje relativamente
nuevo
nuevo
Desarrollado por Microsoft
Desarrollado por Microsoft
Definido como: ““Una cuidadosa uni
Definido como:
Java y C””
Java y C
Facilitar la portabilidad con C++ y facilitar el
Facilitar la portabilidad con C++ y facilitar el
aprendizaje de los programadores
aprendizaje de los programadores
Una cuidadosa unióón entre
n entre
Caracteríísticas B
Caracter
sticas Báásicas
sicas
: pero máás puro que C++ ya que
s puro que C++ ya que
A parte de los modificadores public,
public,
internal (elemento al que solo
(elemento al que solo
Orientado a Objetos: pero m
Orientado a Objetos
no admite variables o funciones globales
no admite variables o funciones globales
Encapsulacióón:n: A parte de los modificadores
Encapsulaci
private y protected se incuye
private y protected
se accede en el ensamblado)
se accede en el ensamblado)
Herencia: Al igual que Java solo acepta herencia
Al igual que Java solo acepta herencia
Herencia:
simple
simple
Polimorfismo de datos: C# admite polimorfismo en
C# admite polimorfismo en
Polimorfismo de datos:
las clases que se definan (Ej: Clase Persona y Trabajador)
las clases que se definan
(Ej: Clase Persona y Trabajador)
se incuye internal
Comentarios de: Estudio comparativo de distintos lenguajes de programación orientados a objeto (0)
No hay comentarios