<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Bienvenido al Blog de Mr. Edgarin &#187; Programación</title>
	<atom:link href="http://edgarin.wordpress.com/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://edgarin.wordpress.com</link>
	<description>De todo un poco sobre mi :-)</description>
	<lastBuildDate>Tue, 15 Sep 2009 07:15:22 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='edgarin.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/6cfccf2c7bdb2ca81593b436c18ba37b?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Bienvenido al Blog de Mr. Edgarin &#187; Programación</title>
		<link>http://edgarin.wordpress.com</link>
	</image>
			<item>
		<title>Programación orientada a Objetos</title>
		<link>http://edgarin.wordpress.com/2006/08/06/programacion-orientada-a-objetos/</link>
		<comments>http://edgarin.wordpress.com/2006/08/06/programacion-orientada-a-objetos/#comments</comments>
		<pubDate>Sun, 06 Aug 2006 01:23:09 +0000</pubDate>
		<dc:creator>edgarin</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">https://edgarin.wordpress.com/2006/08/06/programacion-orientada-a-objetos/</guid>
		<description><![CDATA[¿A que nos referimos cuando decimos Programación Orientada a Objetos? 
La Programación Orientada a Objetos es un paradigma de programación que define los programas en términos de &#8220;clases de objetos&#8220;, objetos que son entidades que combinan estado (es decir, datos), comportamiento (esto es, procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edgarin.wordpress.com&blog=291940&post=14&subd=edgarin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><b>¿A que nos referimos cuando decimos Programación Orientada a Objetos? </b></p>
<p>La <b>Programación Orientada a Objetos </b>es un <a href="http://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n" title="Paradigma de programación">paradigma de programación</a> que define los programas en términos de &#8220;<a href="http://es.wikipedia.org/wiki/Clases_%28programaci%C3%B3n_orientada_a_objetos%29" title="Clases (programación orientada a objetos)">clases</a> de <a href="http://es.wikipedia.org/wiki/Objetos_%28programaci%C3%B3n_orientada_a_objetos%29" title="Objetos (programación orientada a objetos)">objetos</a>&#8220;, objetos que son entidades que combinan <i>estado</i> (es decir, datos), <i>comportamiento</i> (esto es, procedimientos o <i><a href="http://es.wikipedia.org/wiki/M%C3%A9todos_%28programaci%C3%B3n_orientada_a_objetos%29" title="Métodos (programación orientada a objetos)">métodos</a></i>) e identidad (propiedad del objeto que lo diferencia del resto). La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más fáciles de escribir, mantener y reutilizar.</p>
<p><b>¿Que es una clase? </b></p>
<p>Las <b>clases</b> son declaraciones o abstracciones de objetos, lo que significa, que una clase es la definición de un objeto. Cuando se programa un objeto y se definen sus características y funcionalidades, realmente se programa una clase.</p>
<p><b>¿Cuales son los componentes de una clase?</b></p>
<p>Una clase es un conjunto se podria decir de varias cosas entre ellas estan: las variables o propiedades miembro, las propiedades y las funciones ó métodos.</p>
<p><b>¿A que nos referimos cuando decimos una variable ó propiedades miembro de una clase?</b></p>
<p>Las propiedades o atributos que son características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las variables son algo así como el almacén de los datos de estado relacionados con los objetos.</p>
<p>Habitualmente, las variables miembro son privadas al objeto y se accesan atravez de metodos.</p>
<p><b>¿A que nos referimos cuando decimos propiedades de una clase? </b></p>
<p>Las propiedades son un tipo especial de <a href="http://es.wikipedia.org/wiki/Clases_%28programaci%C3%B3n_orientada_a_objetos%29#m.C3.A9todos">métodos</a>.</p>
<p><b>¿A que nos referimos cuando decimos métodos de una clase?</b></p>
<p>Implementan la funcionalidad asociada al objeto. Los métodos son el equivalente a las <a href="http://es.wikipedia.org/wiki/Funci%C3%B3n" title="Función">funciones</a> en los <a href="http://es.wikipedia.org/w/index.php?title=Lenguajes_estructurados&amp;action=edit" class="new" title="Lenguajes estructurados">lenguajes estructurados</a>. Se diferencian de ellos en que es posible acceder a las variables de la clase de forma implícita.</p>
<p>Cuando se desea realizar una acción sobre un objeto, se dice que se le manda un mensaje invocando a un método que realizará la acción.</p>
<p><b>¿A que nos referimos cuando hablamos de un objeto? </b></p>
<p>Un objeto es una entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (&#8220;métodos&#8221;). Corresponden a los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa).</p>
<p><b>¿A que nos referimos cuando hablamos de un evento? </b></p>
<p>Un evento es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente.</p>
<p><b>¿A que nos referimos cuando hablamos de un mensaje?</b><br />
Un mensaje es una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.</p>
<p><b>¿A que nos referimos cuando hablamos de una propiedad o atributo?</b></p>
<p>Una propiedad es un contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto, y cuyo valor puede ser alterado por la ejecución de algún método.</p>
<p><b>¿A que nos referimos cuando hablamos de un estado interno?</b></p>
<p>Un estado interno es una propiedad invisible de los objetos, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos).</p>
<p><b>¿Que caracteristicas tiene la Programación Orientada a Objetos?</b></p>
<p>Hay un cierto desacuerdo sobre exactamente qué características de un método de programación o lenguaje le definen como &#8220;orientado a objetos&#8221;, pero hay un consenso general en que las características siguientes son las más importantes (para más información, seguir los enlaces respectivos):</p>
<ul>
<li><b><a href="http://es.wikipedia.org/wiki/Abstracci%C3%B3n_%28programaci%C3%B3n_orientada_a_objetos%29" title="Abstracción (programación orientada a objetos)">Abstracción</a></b>: cada objeto en el sistema sirve como modelo de un &#8220;agente&#8221; abstracto que puede realizar trabajo, informar y cambiar su estado, y &#8220;comunicarse&#8221; con otros objetos en el sistema sin revelar <i>cómo</i> 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.</li>
</ul>
<ul>
<li><b><a href="http://es.wikipedia.org/wiki/Encapsulamiento_%28programaci%C3%B3n_orientada_a_objetos%29" title="Encapsulamiento (programación orientada a objetos)">Encapsulamiento</a></b>: también llamado &#8220;ocultación de la información&#8221;. Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una <i>interfaz</i> 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 pueden cambiar el estado interno de un objeto de maneras inesperadas, 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.</li>
</ul>
<ul>
<li><b><a href="http://es.wikipedia.org/wiki/Polimorfismo_%28programaci%C3%B3n_orientada_a_objetos%29" title="Polimorfismo (programación orientada a objetos)">Polimorfismo</a></b>: 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 &#8220;tiempo de ejecución&#8221;, esta última característica se llama <i>asignación tardía</i> o <i>asignación dinámica</i>. Algunos lenguajes proporcionan medios más estáticos (en &#8220;tiempo de compilación&#8221;) de polimorfismo, tales como las plantillas y la <a href="http://es.wikipedia.org/wiki/Sobrecarga" title="Sobrecarga">sobrecarga de operadores</a> de C++.</li>
</ul>
<ul>
<li><b><a href="http://es.wikipedia.org/wiki/Herencia_%28programaci%C3%B3n_orientada_a_objetos%29" title="Herencia (programación orientada a objetos)">Herencia</a></b>: las clases no están 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 reimplementar su comportamiento. Esto suele hacerse habitualmente agrupando los objetos en <i>clases</i> y estas en <i>árboles</i> o <i>enrejados</i> que reflejan un comportamiento común. Cuando un objeto pertenece a más de una clase se dice que hay <i>herencia múltiple</i>; esta característica no está soportada por algunos lenguajes (como Java).</li>
</ul>
<p>Este documento ha sido escrito gracias a:</p>
<p><i><b>Edgar Guzmán Fuentes y http://es.wikipedia.com </b></i></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/edgarin.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/edgarin.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edgarin.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edgarin.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edgarin.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edgarin.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edgarin.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edgarin.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edgarin.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edgarin.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edgarin.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edgarin.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edgarin.wordpress.com&blog=291940&post=14&subd=edgarin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edgarin.wordpress.com/2006/08/06/programacion-orientada-a-objetos/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa66ea87f43274d360b63f93c537fc7f?s=96&#38;d=identicon" medium="image">
			<media:title type="html">edgarin</media:title>
		</media:content>
	</item>
	</channel>
</rss>