Sunteți pe pagina 1din 11

Nombre:Elaine Gisell Caro Méndez

Cedula: 1070946627

Desarrollo practica 2 fundamentos de programación

a) Diagrama de clase para representar:

 Celular

 Vivienda
 Un navegador de Internet

 Factura de Ventas
 Computador

b) Diagrama de clase para la situacion del taller mecanico:


c) Clase Circunferencia:

d) Clase Rectangulo:
e) que es:

a. C#:

C# es un lenguaje orientado a objetos elegante y con seguridad de tipos que


permite a los desarrolladores compilar diversas aplicaciones sólidas y seguras que
se ejecutan en .NET Framework. Puede utilizar C# para crear aplicaciones cliente
de Windows, servicios Web XML, componentes distribuidos, aplicaciones cliente-
servidor, aplicaciones de base de datos, y mucho, mucho más. Visual C#
proporciona un editor de código avanzado, cómodos diseñadores de interfaz de
usuario, depurador integrado y numerosas herramientas más para facilitar el
desarrollo de aplicaciones basadas el lenguaje C# y .NET Framework.

La sintaxis de C# es muy expresiva, pero también es sencilla y fácil de aprender. La


sintaxis de C# basada en signos de llave podrá ser reconocida inmediatamente por
cualquier persona familiarizada con C, C++ o Java. Los desarrolladores que
conocen cualquiera de estos lenguajes pueden empezar a trabajar de forma
productiva en C# en un plazo muy breve. La sintaxis de C# simplifica muchas de
las complejidades de C++ y proporciona características eficaces tales como tipos de
valor que admiten valores NULL, enumeraciones, delegados, expresiones lambda
y acceso directo a memoria, que no se encuentran en Java. C# admite métodos y
tipos genéricos, que proporcionan mayor rendimiento y seguridad de tipos, e
iteradores, que permiten a los implementadores de clases de colección definir
comportamientos de iteración personalizados que el código cliente puede utilizar
fácilmente. Las expresiones Language-Integrated Query (LINQ) convierten la
consulta fuertemente tipada en una construcción de lenguaje de primera clase.
Como lenguaje orientado a objetos, C# admite los conceptos de encapsulación,
herencia y polimorfismo.

 Todas las variables y métodos, incluido el método Main que es el punto de


entrada de la aplicación, se encapsulan dentro de definiciones de clase. Una clase
puede heredar directamente de una clase primaria, pero puede implementar
cualquier número de interfaces. Los métodos que reemplazan a los métodos
virtuales en una clase primaria requieren la palabra clave override como medio
para evitar redefiniciones accidentales. En C#, una struct es como una clase
sencilla; es un tipo asignado en la pila que puede implementar interfaces pero que
no admite la herencia.
Además de estos principios básicos orientados a objetos, C# facilita el desarrollo de
componentes de software a través de varias construcciones de lenguaje
innovadoras, entre las que se incluyen las siguientes:
 Firmas de métodos encapsulados denominadas delegados, que habilitan
notificaciones de eventos con seguridad de tipos.
 Propiedades, que actúan como descriptores de acceso para variables
miembro privadas.
 Atributos, que proporcionan metadatos declarativos sobre tipos en tiempo
de ejecución.
 Comentarios en línea de documentación XML.
 Language-Integrated Query (LINQ) que proporciona funciones de consulta
integradas en una gran variedad de orígenes de datos.

Si necesita interactuar con otro software de Windows, como objetos COM o


archivos DLL nativos de Win32, podrá hacerlo en C# mediante un proceso
denominado "interoperabilidad". La interoperabilidad habilita los programas de
C# para que puedan realizar prácticamente las mismas tareas que una aplicación
C++ nativa. C# admite incluso el uso de punteros y el concepto de código "no
seguro" en los casos en que el acceso directo a la memoria es totalmente crítico.
El proceso de compilación de C# es simple en comparación con el de C y C++, y es
más flexible que en Java. No hay archivos de encabezado independientes, ni se
requiere que los métodos y los tipos se declaren en un orden determinado. Un
archivo de código fuente de C# puede definir cualquier número de clases, structs,
interfaces y eventos.
A continuación se enumeran otros recursos de C#:
 Para disponer de una introducción general al lenguaje, vea el capítulo 1
de Especificación del lenguaje C#.
 Para obtener información detallada sobre aspectos concretos del lenguaje
C#, vea Referencia de C#.
 Para obtener más información sobre LINQ, vea LINQ (Language-Integrated
Query).
 Para buscar los artículos y recursos más recientes del equipo de Visual C#,
vea Visual C#.

b. JAVA:

Java es un lenguaje de programación con el que podemos realizar cualquier tipo de


programa. En la actualidad es un lenguaje muy extendido y cada vez cobra más
importancia tanto en el ámbito de Internet como en la informática en general. Está
desarrollado por la compañía Sun Microsystems con gran dedicación y siempre
enfocado a cubrir las necesidades tecnológicas más punteras.
Una de las principales características por las que Java se ha hecho muy famoso es
que es un lenguaje independiente de la plataforma. Eso quiere decir que si
hacemos un programa en Java podrá funcionar en cualquier ordenador del
mercado. Es una ventaja significativa para los desarrolladores de software, pues
antes tenían que hacer un programa para cada sistema operativo, por ejemplo
Windows, Linux, Apple, etc. Esto lo consigue porque se ha creado una Máquina de
Java para cada sistema que hace de puente entre el sistema operativo y el
programa de Java y posibilita que este último se entienda perfectamente.
La independencia de plataforma es una de las razones por las que Java es
interesante para Internet, ya que muchas personas deben tener acceso con
ordenadores distintos. Pero no se queda ahí, Java está desarrollándose incluso para
distintos tipos de dispositivos además del ordenador como móviles, agendas y en
general para cualquier cosa que se le ocurra a la industria.

Pasado y presente
Java fue pensado originalmente para utilizarse en cualquier tipo de
electrodoméstico pero la idea fracasó. Uno de los fundadores de Sun rescató la idea
para utilizarla en el ámbito de Internet y convirtieron a Java en un lenguaje
potente, seguro y universal gracias a que lo puede utilizar todo el mundo y es
gratuito. Una de los primeros triunfos de Java fue que se integró en el navegador
Netscape y permitía ejecutar programas dentro de una página web, hasta entonces
impensable con el HTML.

Actualmente Java se utiliza en un amplio abanico de posibilidades y casi cualquier


cosa que se puede hacer en cualquier lenguaje se puede hacer también en Java y
muchas veces con grandes ventajas. Para lo que nos interesa a nosotros, con Java
podemos programar páginas web dinámicas, con accesos a bases de datos,
utilizando XML, con cualquier tipo de conexión de red entre cualquier sistema. En
general, cualquier aplicación que deseemos hacer con acceso a través web se puede
hacer utilizando Java.

c. JavaScript (¿Es orientado a Objetos?)

Javascript es un lenguaje que puede ser utilizado por profesionales y para quienes
se inician en el desarrollo y diseño de sitios web. No requiere de compilación ya
que el lenguaje funciona del lado del cliente, los navegadores son los encargados
de interpretar estos códigos.

Muchos confunden el Javascript con el Java pero ambos lenguajes son diferentes y
tienes sus características singulares. Javascript tiene la ventaja de ser incorporado
en cualquier página web, puede ser ejecutado sin la necesidad de instalar otro
programa para ser visualizado.

Java por su parte tiene como principal característica ser un lenguaje independiente
de la plataforma. Se puede crear todo tipo de programa que puede ser ejecutado en
cualquier ordenador del mercado: Linux, Windows, Apple, etc. Debido a sus
características también es muy utilizado para internet.

Como síntesis se pude decir que Javascript es un lenguaje interpretado, basado en


prototipos, mientras que Java es un lenguaje más orientado a objetos.
Javascript es un lenguaje con muchas posibilidades, utilizado para crear pequeños
programas que luego son insertados en una página web y en programas más
grandes, orientados a objetos mucho más complejos. Con Javascript podemos crear
diferentes efectos e interactuar con nuestros usuarios.

Este lenguaje posee varias características, entre ellas podemos mencionar que es un
lenguaje basado en acciones que posee menos restricciones. Además, es un
lenguaje que utiliza Windows y sistemas X-Windows, gran parte de la
programación en este lenguaje está centrada en describir objetos, escribir funciones
que respondan a movimientos del mouse, aperturas, utilización de teclas, cargas
de páginas entre otros.

Es necesario resaltar que hay dos tipos de JavaScript: por un lado está el que se
ejecuta en el cliente, este es el Javascript propiamente dicho, aunque técnicamente
se denomina Navigator JavaScript. Pero también existe un Javascript que se ejecuta
en el servidor, es más reciente y se denomina LiveWire Javascript.

Como suele suceder con los lenguajes de creación web, pronto surgió el caos:
Extensiones, atributos o métodos no estandares fueron implementados por uno u
otro navegador, causando que muchas veces se tuviera que crear un código dos
veces, para que corriera en cualquier escenario. Así, gracias a esta falta de
estandarización, muchos tomaron al JavaScript como una mala práctica (No les
recuerda al CSS?).

Sin embargo, gracias a que el ECMAscript es basado en prototípos, el JavaScript


tambien lo es lo que lo convierte en un lenguaje orientado a objetos (OOP, por
Object Oriented Programming o POO, en español, por Programación Orientada
a Objetos).

f) Que es Programación Orientada a Prototipos:

Es un estilo de programación orientada a objetos en el cual los objetos no son


creados mediante la instanciación de clases sino mediante la clonación de otros
objetos o mediante la escritura de código por parte del programador. De esta
forma los objetos ya existentes pueden servir de prototipos para los que el
programador necesite crear.
Es decir, se trata de un paradigma orientado a objetos sin clases. ¿Cómo es esto? En
lugar de definir una clase, para después crear una instancia de ella, lo que hacemos
es definir directamente el nuevo objeto, con sus métodos y atributos. En la página
web de Mozilla tenemos un buen resumen de las diferencias existentes entre la
POO basada en prototipos y la basada en clases.

Una guía muy buena para entender, paso a paso, en qué consiste, y cómo funciona,
es la que proporciona de nuevo Mozilla en su artículo “A re-introduction to
JavaScript“, en el apartado “Custom Objects“. Al no estar en español, voy a
copiarlos aquí:

Consideremos un objeto persona con los campos nombre y apellido. Hay dos
formas de mostrar: “nombre apellido” o “apellido, nombre”. Esta es una forma de
hacerlo:

function makePerson(first, last) {


return {
first: first,
last: last
}
}
function personFullName(person) {
return person.first + ' ' + person.last;
}
function personFullNameReversed(person) {
return person.last + ', ' + person.first
}
Esto funciona, pero es bastante feo. Terminas con docenas de funciones y tu
espacio de nombres global. Lo que realmente necesitamos es una forma de vincular
una función a un objeto. Puesto que las funciones son objetos, esto es fácil:

function makePerson(first, last) {


return {
first: first,
last: last,
fullName: function() {
return this.first + ' ' + this.last;
},
fullNameReversed: function() {
return this.last + ', ' + this.first;
}
}
}
Podemos aprovechar la palabra clave ‘this‘ para mejorar nuestra
función makePerson:

function Person(first, last) {


this.first = first;
this.last = last;
this.fullName = function() {
return this.first + ' ' + this.last;
}
this.fullNameReversed = function() {
return this.last + ', ' + this.first;
}
}
Nuestro objeto persona ha mejorado, pero aun tiene algunos flecos feos. Cada vez
que creamos un objeto persona, estamos creando dos veces las funciones que hay
en cada uno – ¿no sería genial si pudieran compartir este código?

function personFullName() {
return this.first + ' ' + this.last;
}
function personFullNameReversed() {
return this.last + ', ' + this.first;
}
function Person(first, last) {
this.first = first;
this.last = last;
this.fullName = personFullName;
this.fullNameReversed = personFullNameReversed;
}
Esto está mejor: estamos creando las funciones sólo una vez, y asignando
referencias a ellas dentro del constructor. ¿Podemos hacerlo todavía mejor? La
respuesta es sí:

function Person(first, last) {


this.first = first;
this.last = last;
}
Person.prototype.fullName = function() {
return this.first + ' ' + this.last;
}
Person.prototype.fullNameReversed = function() {
return this.last + ', ' + this.first;
}
Person.prototype es un objeto compartido por todas las instancias de Person.
Forma parte de una cadena de búsqueda (que tiene un nombre especial,
“prototype chain”): cada vez que intentas acceder a una propiedad de Person que
no está asignada, JavaScript comprobará en Person.prototype para ver si esta
propiedad existe ahí. Como resultado, cualquier cosa que asignemos
a Person.prototypeestará disponible en todas las instancias de ese constructor
mediante el objeto this.

g. Que es un 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

Para crear un objeto se necesita reservar suficiente espacio en memoria e inicializar


los valores de los campos que representan el estado del objeto.Este trabajo es
realizado por un tipo especial de método denominado 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.

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.

S-ar putea să vă placă și