Este documento proporciona una introducción a la programación orientada a objetos. Define objetos, clases, características de la POO como encapsulamiento, herencia y polimorfismo. Explica que la POO se basa en modelar el mundo real mediante objetos que encapsulan datos y comportamientos. Las clases describen conjuntos de objetos con atributos y métodos comunes.
Se detallan los estereotipos que utilizan los diagramas de clases, sus relaciones, modificadores de acceso, etc. Además se detalla el digrama de objetos
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Programación Orientada a Objetos
Unidad 2: clases y objetos en C#.Net
Material desarrollado para la asignatura de Programación Orientada a Objetos, que se cursa en el segundo semestre de la carrera de ISC.
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Estructura de datos
Unidad 1: Introducción a las estructuras de datos
Retícula ISIC-2010-224: Programa: AED-1026;
Se detallan los estereotipos que utilizan los diagramas de clases, sus relaciones, modificadores de acceso, etc. Además se detalla el digrama de objetos
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Programación Orientada a Objetos
Unidad 2: clases y objetos en C#.Net
Material desarrollado para la asignatura de Programación Orientada a Objetos, que se cursa en el segundo semestre de la carrera de ISC.
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Estructura de datos
Unidad 1: Introducción a las estructuras de datos
Retícula ISIC-2010-224: Programa: AED-1026;
Programação Orientada a Objetos e alguns dos seus conceitos
Diferenças entre classes e objetos
Diferenças entre atributos e métodos de objeto de atributos e métodos de classe
Métodos
Esta aula tem como objetivo ajudar o aluno a aprender e utilizar a linguagem Java. Apresentar as principais informações sobre a
linguagem, tipos de dados básicos, elementos da sintaxe básica e os conceitos de POO.
Slides utilizados para treinamento interno na DBlinks visando o aprendizado básico da linguagem Java.
* Exemplos retirados de cursos e posts da Alura (www.alura.com.br)
La programación orientada a objetos permite la optimización del código generado gracias a que, mediante técnicas de herencia, atributos estáticos entre otros permiten, que el código sea genérico de manera que sea reutilizable.
La programacion orientada a objetos es un paradigma que utiliza objetos como elementos fundamentales en la construcción de la solución. Surge en los años 70. Un objeto es una abstracción de algún hecho o cosa del mundo real que tiene atributos que representan sus características o propiedades y métodos que representan su comportamiento o acciones que realizan. Todas las propiedades y métodos comunes a los objetos se encapsulan o se agrupan en clases. ¨Una clase es una plantilla o un prototipo para crear objetos, por eso se dice que los objetos son instancias de clases. Lenguaje de programación: C++, Java, C#, VB.Net, etc
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
1. República bolivariana de Venezuela
I.U.P. “Santiago Mariño”
Extensión Maturín
PROGRAMACION ORIENTADA A OBJETOS
Tutor: Autor:
María Aguilera Ángel Laverde 25.503.860
Sección “GG” D/T Cesar Anteliz 19.781.585
Marzo de 2016
2. INTRODUCCION
Actualmente una de las áreas más populares en el ámbito de trabajo y el ámbito académico es la
orientación a objetos. La orientación a objetos promete mejoras de amplio alcance en la forma de
diseño, utilizados en la actualidad prometiendo mejor desempeño y eficiencia.
El concepto de programación orientada a objetos no es nuevo, lenguajes clásicos como SmallTalk
se basan en ella. Dado que se basa en la idea natural de la existencia de un mundo lleno de
objetos y que la resolución del problema se realiza en términos de objetos, un lenguaje se dice
que está basado en objetos si soporta objetos como una característica fundamental del mismo.
El elemento fundamental de la OOP es, como su nombre lo indica, el objeto. Podemos definir un
objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de
una organización.
Esta definición especifica varias propiedades importantes de los objetos. En primer lugar, un
objeto no es un dato simple, sino que contiene en su interior cierto número de componentes bien
estructurados. En segundo lugar, cada objeto no es un ente aislado, sino que forma parte de una
organización jerárquica o de otro tipo.
3. ¿Qué es la orientación a objetos?
La programación Orientada a Objetos es una metodología que basa la estructura de los programas
en torno a los objetos.
Los lenguajes de POO ofrecen medios y herramientas para describir los objetos manipulados por
un programa. Más que describir cada objeto individualmente, estos lenguajes proveen una
construcción (Clase) que describe a un conjunto de objetos que poseen las mismas propiedades.
¿Qué es un objeto?
Es una entidad (tangible o intangible) que posee características y acciones que realiza por sí solo
o interactuando con otros objetos.
Un objeto es una entidad caracterizada por sus atributos propios y cuyo comportamiento está
determinado por las acciones o funciones que pueden modificarlo, así como también las acciones
que requiere de otros objetos. Un objeto tiene identidad e inteligencia y constituye una unidad
que oculta tanto datos como la descripción de su manipulación. Puede ser definido como una
encapsulación y una abstracción: una encapsulación de atributos y servicios, y una abstracción
del mundo real.
Para el contexto del Enfoque Orientado a Objetos (EOO) un objeto es una entidad que encapsula
datos (atributos) y acciones o funciones que los manejan (métodos). También para el EOO un
objeto se define como una instancia o particularización de una clase.
Los objetos de interés durante el desarrollo de software no sólo son tomados de la vida real
(objetos visibles o tangibles), también pueden ser abstractos. En general son entidades que juegan
un rol bien definido en el dominio del problema. Un libro, una persona, un carro, un polígono,
son apenas algunos ejemplos de objeto.
Cada objeto puede ser considerado como un proveedor de servicios utilizados por otros objetos
que son sus clientes. Cada objeto puede ser a la vez proveedor y cliente. De allí que un programa
pueda ser visto como un conjunto de relaciones entre proveedores clientes. Los servicios
ofrecidos por los objetos son de dos tipos:
1.- Los datos, que llamamos atributos.
4. 2.- Las acciones o funciones, que llamamos métodos.
Características Generales
Un objeto se identifica por un nombre o un identificador único que lo diferencia de los demás.
Ejemplo: el objeto Cuenta de Ahorros número 12345 es diferente al objeto Cuenta de Ahorros
número 25789. En este caso el identificador que los hace únicos es el número de la cuenta.
-)Un objeto posee estados:
El estado de un objeto está determinado por los valores que poseen sus atributos en un momento
dado.
-)Un objeto tiene un conjunto de métodos:
El comportamiento general de los objetos dentro de un sistema se describe o representa mediante
sus operaciones o métodos. Los métodos se utilizarán para obtener o cambiar el estado de los
objetos, así como para proporcionar un medio de comunicación entre objetos.
-)Un objeto tiene un conjunto de atributos:
Los atributos de un objeto contienen valores que determinan el estado del objeto durante su
tiempo de vida. Se implementan con variables, constantes y estructuras de datos (similares a los
campos de un registro).
-)Los objetos soportan encapsulamiento:
La estructura interna de un objeto normalmente está oculta a los usuarios del mismo. Los datos
del objeto están disponibles solo para ser manipulados por los propios métodos del objeto. El
único mecanismo que lo conecta con el mundo exterior es el paso de mensajes.
-)Un objeto tiene un tiempo de vida dentro del programa o sistema que lo crea y utiliza:
Para ser utilizado en un algoritmo el objeto debe ser creado con una instrucción particular (New
o Nuevo) y al finalizar su utilización es destruido con el uso de otra instrucción o de manera
automática.
5. ¿Qué es una clase?
La clase es la unidad de modularidad en el EOO. La tendencia natural del individuo es la de
clasificar los objetos según sus características comunes (clase). Por ejemplo, las personas que
asisten a la universidad se pueden clasificar (haciendo abstracción) en estudiante, docente,
empleado e investigador.
La clase puede definirse como la agrupación o colección de objetos que comparten una estructura
común y un comportamiento común.
Es una plantilla que contiene la descripción general de una colección de objetos. Consta de
atributos y métodos que resumen las características y el comportamiento comunes de un conjunto
de objetos.
Todo objeto (también llamado instancia de una clase), pertenece a alguna clase. Mientras un
objeto es una entidad concreta que existe en el tiempo y en el espacio, una clase representa solo
una abstracción.
Todos aquellos objetos que pertenecen a la misma clase son descritos o comparten el mismo
conjunto de atributos y métodos.
Todos los objetos de una clase tienen el mismo formato y comportamiento, son diferentes
únicamente en los valores que contienen sus atributos. Todos ellos responden a los mismos
mensajes.
Su sintaxis algorítmica es: Clase <Nombre de la Clase>
...
FClase <Nombre de la Clase>;
6. Características Generales
-)Una clase es un nivel de abstracción alto:
La clase permite describir un conjunto de características comunes para los objetos que representa.
Ejemplo: La clase Avión se puede utilizar para definir los atributos (tipo de avión, distancia,
altura, velocidad de crucero, capacidad, país de origen, etc.) y los métodos (calcular posición en
el vuelo, calcular velocidad de vuelo, estimar tiempo de llegada, despegar, aterrizar, volar, etc.)
de los objetos particulares Avión que representa.
-)Un objeto es una instancia de una clase:
Cada objeto concreto dentro de un sistema es miembro de una clase específica ytiene el conjunto
de atributos y métodos especificados en la misma.ƒ
-)Las clases se relacionan entre sí mediante una jerarquía:
Entre las clases se establecen diferentes tipos de relaciones de herencia, en las cuales la clase hija
(subclase) hereda los atributos y métodos de la clase padre (superclase), además de incorporar sus
propios atributos y métodos.
Ejemplos, Superclase: Clase Avión
Subclases de Avión: Clase Avión Comercial, Avión de Combate, Avión de Transporte
-)Los nombres o identificadores de las clases deben colocarse en singular (clase Animal, clase
Carro, clase Alumno).
Principios de la programación orientada a objetos:
Un lenguaje orientado a objetos tiene tres Principios básicos: debe estar basado en objetos,
basado en clases y capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de
estos puntos; muchos menos cumplen los tres. La barrera más difícil de sortear es usualmente la
herencia.
7. Características de la programación orientada a objetos:
Existe un acuerdo acerca de qué características contempla la "orientación a objetos". Las
características siguientes son las más importantes:
-)Abstracción:
Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada
objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo,
informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar "cómo"
se implementan estas características. Los procesos, las funciones o los métodos pueden también
ser abstraídos, y, cuando lo están, una variedad de técnicas son requeridas para ampliar una
abstracción. El proceso de abstracción permite seleccionar las características relevantes dentro de
un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el
mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que
mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el
problema que se quiere atacar.
-)Encapsulamiento:
Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad,
al mismo nivel de abstracción. Esto permite aumentar la cohesión (diseño estructurado) de los
componentes del sistema. Algunos autores confunden este concepto con el principio de
ocultación, principalmente porque se suelen emplear conjuntamente.
-)Polimorfismo:
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre;
al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté
usando. O, dicho de otro modo, las referencias y las colecciones de objetos pueden contener
objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el
comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo
de ejecución", esta última característica se llama asignación tardía o asignación dinámica.
8. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de
polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.
-)Herencia:
Las clases no se encuentran aisladas, sino que se relacionan entre sí, formando una jerarquía de
clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las
que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento,
permitiendo a los objetos ser definidos y creados como tipos especializados de objetos
preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a
implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en
árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de
una clase se dice que hay herencia múltiple; siendo de alta complejidad técnica por lo cual suele
recurrirse a la herencia virtual para evitar la duplicación de datos.
-)Modularidad:
Se denomina "modularidad" a la propiedad que permite subdividir una aplicación en partes más
pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea
posible de la aplicación en sí y de las restantes partes. Estos módulos se pueden compilar por
separado, pero tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes
soportan la modularidad de diversas formas.
-)Principio de ocultación:
Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una
"interfaz" a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El
aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga
derecho a acceder a ellas; solamente los propios métodos internos del objeto pueden acceder a su
estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto de
manera inesperada, eliminando efectos secundarios e interacciones inesperadas. Algunos
lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una
manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un
agregado o rompecabezas de objetos.
9. -)Recolección de basura:
La recolección de basura (garbage collection) es la técnica por la cual el entorno de objetos se
encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos
que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe
preocuparse por la asignación o liberación de memoria, ya que el entorno la asignará al crear un
nuevo objeto y la liberará cuando nadie lo esté usando. En la mayoría de los lenguajes híbridos
que se extendieron para soportar el Paradigma de Programación Orientada a Objetos como C++ u
Object Pascal, esta característica no existe y la memoria debe desasignarse expresamente.
10. CONCLUSIONES
Para entender cómo funciona la programación orientada a objetos es necesario ver un programa
como una colección de objetos que interactúan entre sí enviándose mensajes y cambiando su
estado durante la ejecución.
Resolver un problema bajo la programación orientada a objetos implica entender los diferentes
objetos que intervienen en el problema, definir sus propiedades y métodos y ponerlos a
interactuar.
Al trabajar con la programación orientada a objetos se esta desarrollada en otras plataformas de
programación o en java, las formas de lograr un mejor rendimiento del equipo a controlar y
aplicar soluciones sencillas, de manera que sea fácilmente digeribles para el usuario y/o
destinatario del trabajo final.