Sei sulla pagina 1di 12

2-3-2018

PROGRAMACION
ORIENTADA A
OBJETOS
Docente: Yolanda
Catalina Navarrete Beas
Alumno: Ricardo
Martínez Campos
Grupo: 410

Ricardo Mtz
Página 1 de 11

¿QUE ES PROGRMACION ORIENTADA A OBJETOS?


La Programación Orientada a Objetos (POO u OOP según sus siglas en inglés) es un
paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y
programas de computadora. Está basado en varias técnicas, incluyendo herencia, modularidad,
polimorfismo, y encapsulamiento. Su uso se popularizó a principios de la década de 1990.
Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos.
El término de Programación Orientada a Objetos indica más una forma de diseño y una
metodología de desarrollo de software que un lenguaje de programación, ya que en realidad se
puede aplicar el Diseño Orientado a Objetos (En inglés abreviado OOD, Object Oriented
Design), a cualquier tipo de lenguaje de programación.
El desarrollo de la OOP empieza a destacar durante la década de los 80 tomando en cuenta la
programación estructurada, a la que engloba y dotando al programador de nuevos elementos
para el análisis y desarrollo de software.(1)
La programación Orientada a objetos (POO) es una forma especial de programar, más cercana
a como expresaríamos las cosas en la vida real que otros tipos de programación.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir
nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos
rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con
este tipo de programación.
Cómo se piensa en objetos
Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo
vamos a pensar en un coche para tratar de modernizarlo en un esquema de POO. Diríamos que
el coche es el elemento principal que tiene una serie de características, como podrían ser el
color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden
ser ponerse en marcha, parar o aparcar.
Pues en un esquema POO el coche sería el objeto, las propiedades serían las características
como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en
marcha o parar
La programación orientada a objetos, intenta simular el mundo real a través del significado de
objetos que contiene características y funciones. Los lenguajes orientados a objetos se clasifican
como lenguajes de quinta generación.
Como su mismo nombre indica, la programación orientada a objetos se basa en la idea de un
objeto, que es una combinación de variables locales y procedimientos llamados métodos que
juntos conforman una entidad de programación.
La POO es un paradigma de la programación de computadores; esto hace referencia al
conjunto de teorías, estándares, modelos y métodos que permiten organizar el
Página 2 de 11

conocimiento, proporcionando un medio bien definido para visualizar el dominio del problema e
implementar en un lenguaje de programación la solución a ese problema.
La POO se basa en el modelo objeto, donde el elemento principal es el objeto, el cual es una
unidad que contiene todas sus características y comportamientos en sí misma, lo cual lo hace
como un todo independiente, pero que se interrelaciona con objetos de su misma clase o de
otras clase, como sucede en el mundo real.

¿Qué es el encapsulamiento polimorfismo?


Polimorfismo En programación orientada a objetos se denomina polimorfismo a la capacidad
que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los
parámetros utilizados durante su invocación. Un objeto polimórfico es una entidad que puede
contener valores de diferentes tipos durante la ejecución del programa. Dicho de otra forma, el
polimorfismo consiste en conseguir que un objeto de una clase se comporte como un objeto de
cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos de dicha clase
o subclases. Una forma de conseguir objetos polimórficos es mediante el uso de punteros a la
superclase.

Encapsulamiento
En programación modular, y más específicamente en programación, se denomina
encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de
manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto.
Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un
agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto
contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos
secundarios e interacciones.
De esta forma el usuario de la clase puede obviar la implementación de los métodos y
propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita que el usuario pueda
cambiar su estado de maneras imprevistas e incontroladas.

¿QUE ES UNA CLASE?


Clase. Es una construcción que permite crear tipos personalizados propios mediante la
agrupación de variables de otros tipos, métodos y eventos. Una clase es como un plano. Define
los datos y el comportamiento de un tipo. Si la clase no se declara como estática, el código de
cliente puede utilizarla mediante la creación de objetos o instancias que se
Página 3 de 11

asignan a una variable. La variable permanece en memoria hasta todas las referencias a ella
están fuera del ámbito. Si la clase se declara como estática, solo existe una copia en memoria y
el código de cliente solo puede tener acceso a ella a través de la propia clase y no de una variable
de instancia.
Tipos de clases
Una parte muy importante de la programación orientada a objetos son las clases, si no fuera por
ellas ni siquiera habría objetos. Cada una tiene sus propias características y ventajas. Un
programador que conoce estas características sabe cuándo debe usar una y no otra, de manera
que su desarrolla un buen software. Los tipos de clases son:
• Class. Public: Son muy comunes, accesibles desde cualquier otra clase en la misma
librería (de otro modo hay que importarlas).
• Class. Abstract: Aquellas que tienen por lo menos un método abstracto. No implementan
sus métodos, sino que dan las bases para que sean implementados en la herencia.
• Class. Final: Son las que terminan la cadena de herencia. Útiles por motivos de seguridad
y eficiencia de un programa, ya que no permiten crear más sub-divisiones por debajo de esta
clase.
• Class. Synchronizable: Especifica que sus métodos son sincronizados, evitando problemas
con los thread (hilo de ejecución), de forma que estos no pueden empezar a correr un método si
no ha acabado el otro.
Características fundamentales
• Nombre de la clase. Sirve para identificar a todos los objetos que tengan unas
determinadas características.
• Conjunto de atributos. Datos miembros. El valor de los atributos representan el estado de
cada objeto.
• Conjunto de métodos. Funciones miembro. Permite que los objetos cambien de estado,
dependiendo del estado anterior que tuviera el objeto.
• Niveles de acceso para proteger ciertos miembros de la clase. Normalmente, se definirán
como ocultos (privados) los atributos y visibles (públicos) los métodos.
Declaración
Las clases se declaran mediante la palabra clave class. El nivel de acceso precede a la palabra
clave class. Como, en este caso, se utiliza public, cualquiera puede crear objetos a partir de esta
clase. El nombre de la clase sigue a la palabra clave class. El resto de la definición es el cuerpo
de clase, donde se definen el comportamiento y los datos. Los campos, propiedades, métodos y
eventos de una clase se conocen colectivamente como miembros de clase. Aunque se utilizan a
veces de forma intercambiable, una clase y un objeto son cosas diferentes. Una clase define un
tipo de objeto, pero no es propiamente un objeto. Un objeto es una entidad concreta basada en
una clase y, a veces, se denomina instancia de una clase.
Herencia
Página 4 de 11

La herencia se realiza a través de una derivación, lo que significa que una clase se declara
utilizando una clase base de la cual hereda los datos y el comportamiento. Una clase base se
especifica anexando dos puntos y el nombre de la clase base. Cuando una clase declara una
clase base, hereda todos los miembros de la clase base excepto los constructores. A diferencia
de C++, una clase en C# solo puede heredar directamente de una clase base. Sin embargo,
dado que una clase base puede heredar de otra clase, una clase puede heredar indirectamente
de varias clases base. Además, una clase puede implementar directamente más de una
interfaz. Una clase se puede declarar como abstracta. Una clase abstracta contiene métodos
abstractos que incluyen una definición de firma pero ninguna implementación. No se pueden
crear instancias de las clases abstractas. Solo se pueden utilizar a través de clases derivadas
que implementan los métodos abstractos. Por el contrario, una clase sellada no permite que
otras clases deriven de ella.

¿QUE ES UN OBJETO?
Objeto:
Se trata de un ente abstracto usado en programación que permite separar los diferentes
componentes de un programa, simplificando así su elaboración, depuración y posteriores
mejoras. Los objetos integran, a diferencia de los métodos procedurales, tanto los
procedimientos como las variables y datos referentes al objeto. A los objetos se les otorga
ciertas características en la vida real. Cada parte del programa que se desea realizar es tratado
como objeto, siendo así estas partes independientes las unas de las otras. Los objetos se
componen de 3 partes fundamentales: métodos, eventos y atributos.

¿QUE ES UNA ENTIDAD?


MODELO ENTIDAD-RELACION
Es una técnica de diseño de bases de datos gráfica, que incorpora información relativa a los
datos y la relación existente entre ellos, para poder así plasmar una visión del mundo real sobre
un soporte informático. Sus características fundamentales son:
• Reflejan tan sólo la existencia de los datos sin expresar lo que se hace con ellos.
• Es independiente de las bases de datos y de los sistemas operativos
• Incluye todos los datos que se estudian sin tener en cuenta las aplicaciones que se van a
tratar
Las entidades se representan como rectángulos, los atributos como elipses y las relaciones como
rombos. El significado de estas palabras así como de otras también importantes las vemos a
continuación.
Entidad: Una entidad es un objeto concreto o abstracto que presenta interés para el sistema y
sobre el que se recoge información la cual va a ser representada en un sistema
Página 5 de 11

de base de datos. La mayoría de las entidades modelan objetos o eventos del mundo real, por
ejemplo, clientes, productos o llamadas de pedidos.

¿QUE ES UN ATRIBUTO?
Atributo: Es una unidad básica e indivisible de información acerca de una entidad o una
relación y sirve para identificar y describir a las mismas. Por ejemplo, si se va a modelar un
evento como una llamada al servicio de asistencia, probablemente se querrá saber quién era el
cliente, quién hizo la llamada y cuándo, así como si se resolvió o no el problema. La
determinación de los atributos que hay que incluir en el modelo es un problema semántico (de
significado). Se deben tomar decisiones basadas en el significado de los datos y en cómo se
utilizarán.

¿QUE SON LOS MENSAJES?


Mensajes y métodos
El modelado de objetos no sólo tiene en consideración los objetos de un sistema, sino
también sus interrelaciones.
• Mensaje
Los objetos interactúan enviándose mensajes unos a otros. Tras la recepción de un
mensaje el objeto actuará. La acción puede ser el envío de otros mensajes, el cambio
de su estado, o la ejecución de cualquier otra tarea que se requiera que haga el objeto.
• Método
Un método se implementa en una clase, y determina cómo tiene que actuar el objeto
cuando recibe un mensaje.
Cuando un objeto A necesita que el objeto B ejecute alguno de sus métodos, el objeto
A le manda un mensaje al objeto B.
Página 6 de 11

Al recibir el mensaje del objeto A, el objeto B ejecutará el método adecuado para el


mensaje recibido.
Página 7 de 11

EJEMPLO DE UNA CLASE UTILIZANDO EL LENGUAJE C


Página 8 de 11

EJEMPLO DE UN OBJETO UTILIZANDO EL LENGUAJE C


Página 9 de 11

FUENTES
Google drive - Buscar con Googlewww.google.com.mx 15:25 que es herencia encapsulamiento
polimorfismo - Buscar con Googlewww.google.com.mx 15:23 Que es P.O.O |
PROGRAMACION ORIENTADA A OBJETOSalgonzalezpoo.wordpress.com 15:23 que es
programacion orientada a objetos - Buscar con Googlewww.google.com.mx 15:22 Qué es la
programacion orientada a objetoswww.desarrolloweb.com 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=Suxor-uEameioM:www.google.com.mx 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=_www.google.com.mx 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=I3YWFS4DDS4XTM:www.google.com.mx 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=E38YnI8xrS0o_M:www.google.com.mx 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=7SKfW1SFKPkPBM:www.google.com.mx 15:44
Página 10 de 11

https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=CgchJnZALidyRM:www.google.com.mx 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=w-WKM1PUKjoxOM:www.google.com.mx 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=UXOQP1l_UTbIBM:www.google.com.mx 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=zbvkY-KVj1BFHM:www.google.com.mx 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=9j83Xhf2Qn-V6M:www.google.com.mx 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=pzm-szGifnFXWM:www.google.com.mx 15:44
https://www.google.com.mx/search?biw=1600&bih=794&tbm=isch&sa=1&ei=U8WZWr
CPJ4bfzwLA243oAg&q=ejemplo+de+un+OBJETO+en+c%23&oq=ejemplo+de+un+OBJ
ETO+en+c%23&gs_l=psy-
ab.3...80753.84610.0.85017.14.14.0.0.0.0.101.1245.13j1.14.0....0...1c.1.64.psy-
ab..0.0.0....0.__M0sSJmHhM#imgrc=WR7APQ6tsF0m0M:www.google.com.mx 15:44 ejemplo
de un OBJETO en c# - Buscar con Googlewww.google.com.mx 15:42
Página 11 de 11

https://www.google.com.mx/search?q=ejemplo+de+una+clase+en+c%23&source=lnms&t
bm=isch&sa=X&ved=0ahUKEwjU5Km_zc7ZAhXCu1MKHZvhBmsQ_AUICygC&biw=
1600&bih=794#imgrc=pzm-szGifnFXWM:www.google.com.mx 15:42
https://www.google.com.mx/search?q=ejemplo+de+una+clase+en+c%23&source=lnms&t
bm=isch&sa=X&ved=0ahUKEwjU5Km_zc7ZAhXCu1MKHZvhBmsQ_AUICygC&biw=
1600&bih=794#imgrc=LI9qPxuMjyDTHM:www.google.com.mx 15:42
https://www.google.com.mx/search?q=ejemplo+de+una+clase+en+c%23&source=lnms&t
bm=isch&sa=X&ved=0ahUKEwjU5Km_zc7ZAhXCu1MKHZvhBmsQ_AUICygC&biw=
1600&bih=794#imgrc=9xQTkEhEva0QbM:www.google.com.mx 15:42
https://www.google.com.mx/search?q=ejemplo+de+una+clase+en+c%23&source=lnms&t
bm=isch&sa=X&ved=0ahUKEwjU5Km_zc7ZAhXCu1MKHZvhBmsQ_AUICygC&biw=
1600&bih=794#imgrc=WR7APQ6tsF0m0M:www.google.com.mx 15:42
https://www.google.com.mx/search?q=ejemplo+de+una+clase+en+c%23&source=lnms&t
bm=isch&sa=X&ved=0ahUKEwjU5Km_zc7ZAhXCu1MKHZvhBmsQ_AUICygC&biw=
1600&bih=794#imgrc=hqgzGY4KPfoHQM:www.google.com.mx 15:42 ejemplo de una clase
en c# - Buscar con Googlewww.google.com.mx 15:42 ejemplo de una clase en c# - Buscar con
Googlewww.google.com.mx 15:42 Clases (Guía de programación de C#) | Microsoft
Docsdocs.microsoft.com 15:42
https://www.google.com.mx/search?q=ejemplo+de+una+clase+en+c%23&source=lnms&t
bm=isch&sa=X&ved=0ahUKEwjU5Km_zc7ZAhXCu1MKHZvhBmsQ_AUICygC&biw=
1600&bih=794#imgrc=ECF0-vujmOgGkM:www.google.com.mx 15:39 III - Mensajes y
Metodosprofesores.fi-b.unam.mx 15:39 que es un mensaje en programacion orientada a objetos -
Buscar con Googlewww.google.com.mx 15:36 Cursos Programación - arroba más
máswww.formauri.es 15:36 QUE ES UNA ENTIDAD EN PROGRAMACION - Buscar con
Googlewww.google.com.mx 15:33 Fundamentos de programación OOPwww.upv.es 15:25
Elizabeth Cuevas: Polimorfismo, encapsulamiento, abstraccion, herencia.elliececyte.blogspot.mx

Potrebbero piacerti anche