<?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/"
	>

<channel>
	<title>I.P.E.M. Nº 59 &#34;25 de Mayo&#34;</title>
	<atom:link href="http://ipem59.edu.ar/weblog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ipem59.edu.ar/weblog</link>
	<description>Blog Educativo</description>
	<lastBuildDate>Mon, 01 Aug 2011 12:24:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>FoxPro &#8211; Apunte Nº 1 Fox Pro</title>
		<link>http://ipem59.edu.ar/weblog/2011/08/foxpro-apunte-n%c2%ba-1-fox-pro/</link>
		<comments>http://ipem59.edu.ar/weblog/2011/08/foxpro-apunte-n%c2%ba-1-fox-pro/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 12:24:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Especialidad Programación]]></category>
		<category><![CDATA[Programacion I]]></category>
		<category><![CDATA[Especialidad Programacion]]></category>

		<guid isPermaLink="false">http://ipem59.edu.ar/weblog/?p=89</guid>
		<description><![CDATA[Apunte FoxPro Prof. Ramiro P. Valveson]]></description>
			<content:encoded><![CDATA[<p><a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/08/Apunte-Fox.doc">Apunte FoxPro</a></p>
<p>Prof. Ramiro P. Valveson</p>
]]></content:encoded>
			<wfw:commentRss>http://ipem59.edu.ar/weblog/2011/08/foxpro-apunte-n%c2%ba-1-fox-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAVA &#8211; Ejercicio de Herencia</title>
		<link>http://ipem59.edu.ar/weblog/2011/07/java-ejercicio-de-herencia/</link>
		<comments>http://ipem59.edu.ar/weblog/2011/07/java-ejercicio-de-herencia/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 14:19:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Especialidad Programación]]></category>
		<category><![CDATA[Programación III]]></category>
		<category><![CDATA[Especialidad Programacion]]></category>
		<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://ipem59.edu.ar/weblog/?p=85</guid>
		<description><![CDATA[Java &#8211; EJERCICIO DE HERENCIA]]></description>
			<content:encoded><![CDATA[<p><a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/07/EJERCICIO-DE-HERENCIA.doc">Java &#8211; EJERCICIO DE HERENCIA</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ipem59.edu.ar/weblog/2011/07/java-ejercicio-de-herencia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAVA: Clases</title>
		<link>http://ipem59.edu.ar/weblog/2011/05/java-clases/</link>
		<comments>http://ipem59.edu.ar/weblog/2011/05/java-clases/#comments</comments>
		<pubDate>Wed, 18 May 2011 13:16:45 +0000</pubDate>
		<dc:creator>Ramiro Pablo Valveson</dc:creator>
				<category><![CDATA[Especialidad Programación]]></category>
		<category><![CDATA[Programación III]]></category>
		<category><![CDATA[Especialidad Programacion]]></category>
		<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://ipem59.edu.ar/weblog/?p=64</guid>
		<description><![CDATA[Completa el siguiente código escrito en Lenguaje Java que permita implementar la clase “MiClase” considerando que en su estructura posee cinco atributos y doce métodos que la definen. public static void main(String args[]) { MiClase Objeto1 = new MiClase(&#8220;Atributo1&#8243;, Atributo2; MiClase arbol2 = new MiClase(); }]]></description>
			<content:encoded><![CDATA[<p>Completa el siguiente código escrito en Lenguaje      Java que permita implementar la clase “<strong>MiClase” </strong> considerando      que en su estructura posee cinco atributos y doce métodos que la definen.</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="690" valign="top"></td>
</tr>
<tr>
<td width="690" valign="top">public static void main(String   args[]) {</td>
</tr>
<tr>
<td width="690" valign="top">MiClase Objeto1 = new MiClase(&#8220;Atributo1&#8243;, Atributo2;</td>
</tr>
<tr>
<td width="690" valign="top">MiClase arbol2 = new MiClase();</td>
</tr>
<tr>
<td width="690" valign="top">}</td>
</tr>
<tr>
<td width="690" valign="top"></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://ipem59.edu.ar/weblog/2011/05/java-clases/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>JAVA: Ejercicio Guiado &#8211; Programación de una Clase</title>
		<link>http://ipem59.edu.ar/weblog/2011/05/java-ejercicio-guiado-programacion-de-una-clase/</link>
		<comments>http://ipem59.edu.ar/weblog/2011/05/java-ejercicio-guiado-programacion-de-una-clase/#comments</comments>
		<pubDate>Wed, 04 May 2011 12:41:17 +0000</pubDate>
		<dc:creator>Ramiro Pablo Valveson</dc:creator>
				<category><![CDATA[Especialidad Programación]]></category>
		<category><![CDATA[Programación III]]></category>
		<category><![CDATA[Especialidad Programacion]]></category>
		<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://ipem59.edu.ar/weblog/?p=58</guid>
		<description><![CDATA[Planteamiento &#160; Los Multicines Avenida nos encargan un programa para facilitar las distintas gestiones que se realizan en dichos multicines. &#160; El multicine cuenta con varias salas, y cada una de ellas genera una serie de información. Para facilitar el control de la información de cada sala programaremos una Clase de objeto a la que [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline;">Planteamiento</span></strong></p>
<p>&nbsp;</p>
<p>Los Multicines Avenida nos encargan un programa para facilitar las distintas gestiones que se realizan en dichos multicines.</p>
<p>&nbsp;</p>
<p>El multicine cuenta con varias salas, y cada una de ellas genera una serie de información. Para facilitar el control de la información de cada sala programaremos una Clase de objeto a la que llamaremos <strong>SalaCine</strong>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">La Clase <em>SalaCine</em></span></strong><strong> </strong></p>
<p>&nbsp;</p>
<p>La   Clase  <em>SalaCine</em> definirá características de una sala de cine, y permitirá crear objetos que representen salas de cine. Cuando la Clase <em>SalaCine</em> esté programada, se podrán hacer cosas como las que sigue:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Los Multicines Avenida tienen una sala central donde se proyectan normalmente los estrenos. Se podría crear un objeto llamado <em>central</em> de la clase <em>SalaCine</em> de la siguiente forma:</p>
<p>&nbsp;</p>
<p>SalaCine central;</p>
<p>&nbsp;</p>
<p>Por supuesto, este objeto puede ser construido como cualquier otro:</p>
<p>&nbsp;</p>
<p>central = new SalaCine();</p>
<p>&nbsp;</p>
<p>El objeto <em>central</em> representará a la sala de cine central de los Multicines Avenida.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Otro ejemplo. Los Multicines Avenida tienen una sala donde proyectan versiones originales. Se podría crear un objeto llamado <em>salaVO </em>de la clase <em>SalaCine</em> de la siguiente forma:</p>
<p>&nbsp;</p>
<p>SalaCine salaVO;  //declaración</p>
<p>&nbsp;</p>
<p>salaVO = new SalaCine(); //construcción</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">Propiedades de los objetos de la clase <em>SalaCine</em></span></strong></p>
<p>&nbsp;</p>
<p>A la hora de decidir las propiedades de un objeto de creación propia, tenemos que preguntarnos, ¿qué información me interesa almacenar del objeto? Trasladando esta idea a nuestro caso práctico, ¿qué información me interesaría tener de cada sala de cine?</p>
<p>&nbsp;</p>
<p>Para este ejemplo supondremos que de cada sala de cine nos interesa tener conocimiento de las siguientes características (propiedades):</p>
<p>&nbsp;</p>
<p>-          <strong>Aforo</strong>: define el número de butacas de la sala (un número entero).</p>
<p>-          <strong>Ocupadas</strong>: define el número de butacas ocupadas (un número entero).</p>
<p>-          <strong>Película</strong>: define la película que se está proyectando en el momento en la sala (una cadena de texto)</p>
<p>-          <strong>Entrada</strong>: define el precio de la entrada (un número double)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">Valores por defecto de los objetos <em>SalaCine</em></span></strong></p>
<p>&nbsp;</p>
<p>Cuando se construye un objeto, se asignan unos valores por defecto a sus propiedades. Por ejemplo, cuando se construye una etiqueta (Clase JLabel), esta tiene un tamaño inicial definido, un color, etc.</p>
<p>&nbsp;</p>
<p>Lo mismo se tiene que hacer con los objetos propios que definimos. Es necesario decidir qué valores tendrá las propiedades del objeto al construirse.</p>
<p>&nbsp;</p>
<p>En nuestro caso, las características de un objeto <em>SalaCine</em> en el momento de construirse serán las siguientes:</p>
<p>&nbsp;</p>
<p>Aforo: 100</p>
<p>Ocupadas: 0</p>
<p>Película: “”        <em>(la cadena vacía)</em></p>
<p>Entrada: 5,00</p>
<p>&nbsp;</p>
<p>Observa este código, en él construimos el objeto correspondiente a la sala central del multicine:</p>
<p>&nbsp;</p>
<p>SalaCine central;</p>
<p>&nbsp;</p>
<p>central = new SalaCine();</p>
<p>&nbsp;</p>
<p>En este momento (en el que el objeto <em>central</em> está recién construido) este objeto tiene asignado un aforo de 100, el número de butacas ocupadas es 0, la película que se proyecta en la sala central es “” y la entrada para esta sala es de 5 euros.</p>
<p>&nbsp;</p>
<p>Los valores por defecto que se asignan a los objetos de una clase son valores arbitrarios que el programador decidirá según su conveniencia.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">Métodos de los objetos <em>SalaCine</em></span></strong></p>
<p>&nbsp;</p>
<p>Para comunicarnos con los objetos de la Clase  <em>SalaCine</em> que construyamos, tendremos que disponer de un conjunto de métodos que nos permitan asignar valores a las propiedades de los objetos, recoger información de dichos objetos y que le den órdenes al objeto.</p>
<p>&nbsp;</p>
<p>Será el programador el que decida qué métodos le interesará que posea los objetos de la Clase que está programando.</p>
<p>&nbsp;</p>
<p>Para nuestro caso particular, supondremos que los objetos de la Clase <em>SalaCine</em> deberán tener los siguientes métodos:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;">Métodos de cambio de propiedades (Métodos <em>set</em>)</span></p>
<p>&nbsp;</p>
<p><strong><em>setAforo</em></strong> &#8211; asignará un aforo a la sala de cine</p>
<p><strong><em>setOcupadas</em></strong> &#8211; asignará una cantidad de butacas ocupadas a la sala de cine</p>
<p><strong><em>setLibres</em></strong> &#8211; asignará una cantidad de butacas libres a la sala de cine</p>
<p><strong><em>setPelicula</em></strong> &#8211; asignará un título de película a la sala de cine</p>
<p><strong><em>setEntrada</em></strong> &#8211; fijará el precio de las entradas a la sala de cine</p>
<p>&nbsp;</p>
<p>Gracias a estos métodos podemos dar forma a un objeto <em>SalaCine</em> recién creado.</p>
<p>&nbsp;</p>
<p>Por ejemplo, supongamos que queremos crear el objeto que representa la sala de versiones originales. Resulta que esta sala tiene de aforo 50 localidades, que se está proyectando la película “Metrópolis” y que la entrada para ver la película es de 3 euros. La sala está vacía de momento.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Para crear el objeto, se usaría el siguiente código:</p>
<p>&nbsp;</p>
<p>//Se construye el objeto</p>
<p>SalaCine salaVO;</p>
<p>salaVO = new SalaCine();</p>
<p>&nbsp;</p>
<p>//Se le asignan características</p>
<p>salaVO.setAforo(50);               //aforo 50</p>
<p>salaVO.setPelicula(“Metrópolis”);  //la película que se proyecta</p>
<p>salaVO.setEntrada(3);              //entrada a 3 euros</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Al construir el objeto <em>salaVO</em> tiene por defecto los valores siguientes en sus propiedades:</p>
<p>&nbsp;</p>
<p>Aforo: 100</p>
<p>Ocupadas: 0</p>
<p>Película: “”</p>
<p>Entrada: 5,00</p>
<p>&nbsp;</p>
<p>Gracias a los métodos disponibles hemos asignados estos nuevos valores:</p>
<p>&nbsp;</p>
<p>Aforo: 50</p>
<p>Ocupadas: 0</p>
<p>Película: “Metrópolis”</p>
<p>Entrada: 3,00</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;">Métodos para pedirle información al objeto (Métodos get)</span></p>
<p>&nbsp;</p>
<p>Se programarán los siguientes métodos get en la clase <em>SalaCine</em>:</p>
<p>&nbsp;</p>
<p><strong><em>getAforo</em></strong> &#8211; devuelve el aforo que tiene el objeto</p>
<p><strong><em>getOcupadas</em></strong> &#8211; devuelve el número de butacas ocupadas que tiene el objeto</p>
<p><strong><em>getLibres</em></strong> &#8211; devuelve el número de butacas que tiene libres el objeto</p>
<p><strong><em>getPorcentaje</em></strong> &#8211; devolverá el porcentaje de ocupación de la sala</p>
<p><strong><em>getIngresos</em></strong> &#8211; devolverá los ingresos producidos por la sala (entradas vendidas por precio)</p>
<p><strong><em>getPelicula</em></strong> &#8211; devolverá el título de la película que se está proyectando</p>
<p><strong><em>getEntrada</em></strong> &#8211; devolverá el precio de la entrada asignado al objeto</p>
<p>&nbsp;</p>
<p>Estos métodos nos permitirán obtener información de un objeto del tipo <em>SalaCine</em>. Por ejemplo, supongamos que tenemos el objeto llamado <em>central</em> (correspondiente a la sala principal<em> </em>del multicine), para obtener la película que se está proyectando en dicha sala solo habría que usar este código:</p>
<p>&nbsp;</p>
<p>String peli;      //una variable de cadena</p>
<p>peli = central.getPelicula();</p>
<p>&nbsp;</p>
<p>O, por ejemplo, para saber los ingresos producidos por la sala central…</p>
<p>&nbsp;</p>
<p>double ingresos;</p>
<p>ingresos = central.getIngresos();</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;">Métodos para dar órdenes al objeto</span></p>
<p>&nbsp;</p>
<p>Se programarán los siguientes métodos para dar órdenes a los objetos de la clase <em>SalaCine</em>.</p>
<p>&nbsp;</p>
<p><strong><em>vaciar </em></strong></p>
<p><em> </em></p>
<p>-          Este método pondrá el número de plazas ocupadas a cero y le asignará a la película la cadena vacía.</p>
<p><strong><em>entraUno</em></strong></p>
<p><em> </em></p>
<p>-          Este método le dice al objeto que ha entrado una nueva persona en la sala. (Esto debe producir que el número de plazas ocupadas aumente en uno)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div>
<p><strong>RESUMEN SALACINE</strong></p>
</div>
<p><strong> </strong></p>
<p>He aquí un resumen de la Clase de objetos <em>SalaCine</em>, la cual se programará en la próxima hoja:</p>
<p>&nbsp;</p>
<p>Clase de objetos: <strong><em>SalaCine</em></strong></p>
<p>&nbsp;</p>
<p>Propiedades de los objetos <em>SalaCine</em>:</p>
<p>&nbsp;</p>
<p><strong>Aforo</strong> &#8211; número entero (int)</p>
<p><strong>Ocupadas</strong> &#8211; número entero (int)</p>
<p><strong>Película</strong> &#8211; cadena (String)</p>
<p><strong>Entrada</strong> &#8211; número decimal (double)</p>
<p>&nbsp;</p>
<p>Valores por defecto de los objetos del tipo <em>SalaCine</em>:</p>
<p>&nbsp;</p>
<p>Aforo: <strong>100</strong></p>
<p>Ocupadas: <strong>0</strong></p>
<p>Película: <strong>(cadena vacía)</strong></p>
<p>Entrada: <strong>5</strong></p>
<p>&nbsp;</p>
<p>Métodos de los objetos del tipo <em>SalaCine</em>:</p>
<p>&nbsp;</p>
<p>Métodos de asignación de propiedades (set)</p>
<p>&nbsp;</p>
<p><strong><em>setAforo</em></strong> &#8211; modifica la propiedad Aforo</p>
<p><strong><em>setOcupadas</em></strong> &#8211; modifica la propiedad Ocupadas</p>
<p><strong><em>setLibres</em></strong> &#8211; modifica la propiedad Ocupadas también</p>
<p><strong><em>setPelicula</em></strong> &#8211; modifica la propiedad Película</p>
<p><strong><em>setEntrada</em></strong><em> </em>- modifica la propiedad Entrada</p>
<p>&nbsp;</p>
<p>Métodos de petición de información (get)</p>
<p>&nbsp;</p>
<p><strong><em>getAforo</em></strong> &#8211; devuelve el valor de la propiedad Aforo</p>
<p><strong><em>getOcupadas</em></strong> &#8211; devuelve el valor de la propiedad Ocupadas</p>
<p><strong><em>getLibres</em></strong> &#8211; devuelve el número de butacas libres</p>
<p><strong><em>getPorcentaje</em></strong> &#8211; devuelve el porcentaje de ocupación de la sala</p>
<p><strong><em>getIngresos</em></strong> &#8211; devuelve los ingresos obtenidos por la venta de entradas</p>
<p><strong><em>getPelicula</em></strong> &#8211; devuelve el valor de la propiedad Película</p>
<p><strong><em>getEntrada</em></strong> &#8211; devuelve el valor de la propiedad Entrada</p>
<p>&nbsp;</p>
<p>Métodos de orden</p>
<p>&nbsp;</p>
<p><strong><em>Vaciar</em></strong><em> </em>- vacía la ocupación de la sala y borra la película</p>
<p><strong><em>entraUno</em></strong><em> </em>- le indica al objeto que ha entrado una persona más en la sala</p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">Programación de una Clase</span></strong></p>
<p>&nbsp;</p>
<p>En este ejercicio guiado, crearemos la Clase  <em>SalaCine</em>, que hemos descrito anteriormente. Luego, a partir de esta clase, fabricaremos objetos representando salas de cine, y los usaremos en un proyecto Java.</p>
<p>&nbsp;</p>
<p>Recuerda las características que hemos decidido para la Clase <em>SalaCine</em> en la hoja anterior:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div>
<p><strong>CLASE SALACINE</strong></p>
</div>
<p>&nbsp;</p>
<p>Nombre de la Clase: <em>SalaCine</em></p>
<p>&nbsp;</p>
<p>Propiedades de los objetos <em>SalaCine</em>:</p>
<p>&nbsp;</p>
<p><strong>Aforo</strong> &#8211; número entero (int)</p>
<p><strong>Ocupadas</strong> &#8211; número entero (int)</p>
<p><strong>Película</strong> &#8211; cadena (String)</p>
<p><strong>Entrada</strong> &#8211; número decimal (double)</p>
<p>&nbsp;</p>
<p>Valores por defecto de los objetos del tipo <em>SalaCine</em>:</p>
<p>&nbsp;</p>
<p>Aforo: <strong>100</strong></p>
<p>Ocupadas: <strong>0</strong></p>
<p>Película: <strong>(cadena vacía)</strong></p>
<p>Entrada: <strong>5</strong></p>
<p>&nbsp;</p>
<p>Métodos de los objetos del tipo <em>SalaCine</em>:</p>
<p>&nbsp;</p>
<p>Métodos de asignación de propiedades (set)</p>
<p>&nbsp;</p>
<p><strong><em>setAforo</em></strong> &#8211; modifica la propiedad Aforo</p>
<p><strong><em>setOcupadas</em></strong> &#8211; modifica la propiedad Ocupadas</p>
<p><strong><em>setLibres</em></strong> &#8211; modifica la propiedad Ocupadas también</p>
<p><strong><em>setPelicula</em></strong> &#8211; modifica la propiedad Película</p>
<p><strong><em>setEntrada</em></strong><em> </em>- modifica la propiedad Entrada</p>
<p>&nbsp;</p>
<p>Métodos de petición de información (get)</p>
<p>&nbsp;</p>
<p><strong><em>getAforo</em></strong> &#8211; devuelve el valor de la propiedad Aforo</p>
<p><strong><em>getOcupadas</em></strong> &#8211; devuelve el valor de la propiedad Ocupadas</p>
<p><strong><em>getLibres</em></strong> &#8211; devuelve el número de butacas libres</p>
<p><strong><em>getPorcentaje</em></strong> &#8211; devuelve el porcentaje de ocupación de la sala</p>
<p><strong><em>getIngresos</em></strong> &#8211; devuelve los ingresos obtenidos por la venta de entradas</p>
<p><strong><em>getPelicula</em></strong> &#8211; devuelve el valor de la propiedad Película</p>
<p><strong><em>getEntrada</em></strong> &#8211; devuelve el valor de la propiedad Entrada</p>
<p>&nbsp;</p>
<p>Métodos de orden</p>
<p>&nbsp;</p>
<p><strong><em>Vaciar</em></strong><em> </em>- vacía la ocupación de la sala y borra la película</p>
<p><strong><em>entraUno</em></strong><em> </em>- le indica al objeto que ha entrado una persona más en la sala</p>
<div>
<p>&nbsp;</p>
<p><strong>PROGRAMACIÓN DE LA CLASE</strong></p>
</div>
<p><em><span style="text-decoration: underline;">Fichero de la Clase</span></em></p>
<p>La programación de una clase de objetos se realiza en un fichero aparte, cuyo nombre es exactamente el mismo que el de la propia clase, y cuya extensión es .java.</p>
<p>&nbsp;</p>
<p>Por ejemplo, si queremos programar la clase SalaCine, esto se debe hacer en un fichero llamado:</p>
<p>SalaCine.java</p>
<p>Cuando programemos esta clase dentro de NetBeans, veremos las facilidades que nos proporciona este para la creación de la clase. De momento, solo veremos de forma teórica como hay que programar la clase. (No tiene que introducir lo que viene a continuación en ningún sitio)</p>
<p><em><span style="text-decoration: underline;">Estructura básica de la Clase</span></em></p>
<p>Dentro del fichero de la clase, comenzará la programación de esta de la siguiente forma:</p>
<p>public class SalaCine {</p>
<p>}</p>
<p>&nbsp;</p>
<p>La programación de una clase comienza siempre con una línea de código como la que sigue:</p>
<p>&nbsp;</p>
<p>public class NombreDeLaClase {</p>
<p>}</p>
<p>&nbsp;</p>
<p>Toda la programación de la clase se introducirá dentro de las dos llaves.</p>
<p><em><span style="text-decoration: underline;">Propiedades de la Clase</span></em></p>
<p>Lo primero que se debe introducir en la clase que se está programando son las propiedades. Las propiedades de una clase son básicamente variables globales de ésta. Si introducimos las propiedades de la clase <em>SalaCine</em>, esta nos quedaría así:</p>
<p>&nbsp;</p>
<p>public class SalaCine {</p>
<p>&nbsp;</p>
<p>int Aforo;</p>
<p>int Ocupadas;</p>
<p>String Película;</p>
<p>double Entrada;</p>
<p>&nbsp;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><em><span style="text-decoration: underline;">Constructor de la Clase</span></em></p>
<p>&nbsp;</p>
<p>Cuando se planteó la clase <em>SalaCine</em>, se tuvo que decidir qué valores iniciales deberían tener las propiedades de la clase. Para asignar estos valores iniciales, es necesario programar lo que se denomina el <em>Constructor</em>.</p>
<p>&nbsp;</p>
<p>El <em>Constructor</em> de una clase es un método (un procedimiento para entendernos) un poco especial, ya que debe tener el mismo nombre de la clase y no devuelve nada, pero no lleva la palabra <em>void</em>. Dentro del constructor se inicializan las propiedades de la clase.</p>
<p>&nbsp;</p>
<p>En general, la programación del constructor sigue la siguiente sintaxis:</p>
<p>&nbsp;</p>
<p>public NombreDeLaClase() {</p>
<p>propiedad1 = valor;</p>
<p>propiedad2 = valor;</p>
<p>etc…</p>
<p>}</p>
<p>&nbsp;</p>
<p>La clase <em>SalaCine</em>, añadiendo el <em>Constructor</em>, tendrá el siguiente aspecto:</p>
<p>&nbsp;</p>
<p>public class SalaCine {</p>
<p>&nbsp;</p>
<p>int Aforo;</p>
<p>int Ocupadas;</p>
<p>String Película;</p>
<p>double Entrada;</p>
<p>&nbsp;</p>
<p>//Constructor</p>
<p>public SalaCine() {</p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="101" height="33" bgcolor="white">
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p>Constructor</p>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>Aforo = 100;</p>
<p>Ocupadas = 0;</p>
<p>Pelicula = “”;</p>
<p>Entrada = 5.0;</p>
<p>}</p>
<p>&nbsp;</p>
<p>}</p>
<p>&nbsp;</p>
<p>Observa como usamos el constructor de la clase <em>SalaCine</em> para asignar a cada propiedad los valores por defecto decididos en el diseño de la clase que se hizo en la hoja anterior.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><em><span style="text-decoration: underline;">Métodos del tipo set</span></em></p>
<p>&nbsp;</p>
<p>Todas las clases suelen contener métodos del tipo <em>set</em>. Recuerda que estos métodos permiten asignar valores a las propiedades de la clase.</p>
<p>&nbsp;</p>
<p>Debes tener en cuenta también que cuando se habla de método de una clase, en realidad se está hablando de un procedimiento o función, que puede recibir como parámetro determinadas variables y que puede devolver valores.</p>
<p>&nbsp;</p>
<p>Los métodos del tipo <em>set</em> son básicamente procedimientos que reciben valores como parámetros que introducimos en las propiedades. Estos métodos no devuelven nada, así que son <em>void</em>.</p>
<p>&nbsp;</p>
<p>Se recomienda, que el parámetro del procedimiento se llame de forma distinta a la propiedad que se asigna.</p>
<p>&nbsp;</p>
<p>Veamos la programación del método <em>setAforo</em>, de la clase <em>SalaCine</em>:</p>
<p>&nbsp;</p>
<p>public void setAforo(int afo) {</p>
<p>&nbsp;</p>
<p>Aforo = afo;</p>
<p>&nbsp;</p>
<p>}</p>
<p>&nbsp;</p>
<p>Observa este método:</p>
<p>&nbsp;</p>
<p>-          Es void, es decir, no devuelve nada (<em>el significado de la palabra public se verá más adelante</em>)</p>
<p>-          El método recibe como parámetro una variable del mismo tipo que la propiedad que queremos modificar (en este caso <em>int</em>) y un nombre que se recomienda que no sea igual al de la propiedad (en nuestro caso, <em>afo</em>, de aforo)</p>
<p>&nbsp;</p>
<p>-          Puedes observar que lo que se hace simplemente en el método es asignar la variable pasada como parámetro a la propiedad.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>La mayoría de los procedimientos <em>set</em> usados para introducir valores en las propiedades tienen la misma forma. Aquí tienes la programación de los demás procedimientos <em>set</em> de la clase <em>SalaCine</em>.</p>
<p>&nbsp;</p>
<p>//Método <em>setOcupadas</em></p>
<p>public void setOcupadas(int ocu) {</p>
<p>Ocupadas = ocu;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método <em>setPelicula</em></p>
<p>public void setPelicula(String peli) {</p>
<p>Pelicula = peli;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método setEntrada</p>
<p>public void setEntrada(double entra) {</p>
<p>Entrada = entra;</p>
<p>}</p>
<p>&nbsp;</p>
<p>Hay un método <em>set</em> de la clase <em>SalaCine</em> llamado <em>setLibres</em> cuya misión es asignar el número de localidades libres del cine. Sin embargo la clase <em>SalaCine</em> no tiene una propiedad “Libres”. En realidad, este método debe modificar el número de localidades ocupadas. Observa su programación:</p>
<p>&nbsp;</p>
<p>//Método setLibres</p>
<p>public void setLibres(int lib) {</p>
<p>int ocu;</p>
<p>&nbsp;</p>
<p>ocu = Aforo – lib;</p>
<p>Ocupadas = ocu;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Al asignar un número de localidades ocupadas, estamos asignando indirectamente el número de localidades libres. Como puedes observar en el método, lo que se hace es calcular el número de localidades ocupadas a partir de las libres, y asignar este valor a la propiedad Ocupadas.</p>
<p>&nbsp;</p>
<p>No se pensó en crear una propiedad de la clase llamada <em>Libres</em> ya que en todo momento se puede saber cuantas localidades libres hay restando el Aforo menos las localidades Ocupadas.</p>
<p>&nbsp;</p>
<p>La clase <em>SalaCine</em>, añadiendo los métodos <em>set</em>, quedaría de la siguiente forma:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>public class SalaCine {</p>
<p>&nbsp;</p>
<p>int Aforo;</p>
<p>int Ocupadas;</p>
<p>String Película;</p>
<p>double Entrada;</p>
<p>&nbsp;</p>
<p>//Constructor</p>
<p>public SalaCine() {</p>
<p>Aforo = 100;</p>
<p>Ocupadas = 0;</p>
<p>Pelicula = “”;</p>
<p>Entrada = 5.0;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Métodos set</p>
<p>&nbsp;</p>
<p>//Método setAforo</p>
<p>public void setAforo(int afo) {</p>
<p>Aforo = afo;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método <em>setOcupadas</em></p>
<p>public void setOcupadas(int ocu) {</p>
<p>Ocupadas = ocu;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método <em>setPelicula</em></p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="127" height="32" bgcolor="white">
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p>Métodos     Set</p>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>public void setPelicula(String peli) {</p>
<p>Pelicula = peli;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método setEntrada</p>
<p>public void setEntrada(double entra) {</p>
<p>Entrada = entra;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método setLibres</p>
<p>public void setLibres(int lib) {</p>
<p>int ocu;</p>
<p>&nbsp;</p>
<p>ocu = Aforo – lib;</p>
<p>Ocupadas = ocu;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><em><span style="text-decoration: underline;">Métodos del tipo get</span></em></p>
<p>&nbsp;</p>
<p>Al igual que los métodos <em>set</em>, los métodos <em>get </em>son muy fáciles de programar ya que suelen tener siempre la misma forma.</p>
<p>&nbsp;</p>
<p>Estos métodos no suelen llevar parámetros y devuelven el valor de la propiedad correspondiente usando la típica instrucción <em>return</em> usada tanto en las funciones. Por tanto, un método get nunca es void. Siempre será del mismo tipo de datos que la propiedad que devuelve.</p>
<p>&nbsp;</p>
<p>Veamos la programación del método <em>getAforo</em>:</p>
<p>&nbsp;</p>
<p>//Método getAforo</p>
<p>public int getAforo() {</p>
<p>return Aforo;</p>
<p>}</p>
<p>&nbsp;</p>
<p>Como puedes ver el método simplemente devuelve el valor de la propiedad Aforo. Como esta propiedad es int, el método es int.</p>
<p>&nbsp;</p>
<p>Los métodos que devuelven el resto de las propiedades son igual de sencillos de programar:</p>
<p>&nbsp;</p>
<p>//Método getOcupadas</p>
<p>public int getOcupadas() {</p>
<p>return Ocupadas;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método getPelicula</p>
<p>public String getPelicula() {</p>
<p>return Película;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método getEntrada</p>
<p>public double getEntrada() {</p>
<p>return Entrada;</p>
<p>}</p>
<p>&nbsp;</p>
<p>Todos estos métodos son iguales. Solo tienes que fijarte en el tipo de datos de la propiedad que devuelven.</p>
<p>&nbsp;</p>
<p>Existen otros métodos get que devuelven cálculos realizados con las propiedades. Estos métodos realizan algún cálculo y luego devuelven el resultado. Observa el siguiente método <em>get</em>:</p>
<p>&nbsp;</p>
<p>//Método getLibres</p>
<p>public int getLibres() {</p>
<p>int lib;</p>
<p>lib = Aforo – Ocupadas;</p>
<p>return lib;</p>
<p>}</p>
<p>&nbsp;</p>
<p>No existe una propiedad <em>Libres</em>, por lo que este valor debe ser calculado a partir del Aforo y el número de localidades Ocupadas. Para ello restamos y almacenamos el valor en una variable a la que hemos llamado <em>lib</em>. Luego devolvemos dicha variable.</p>
<p>&nbsp;</p>
<p>Los dos métodos <em>get</em> que quedan por programar de la clase <em>SalaCine</em> son parecidos:</p>
<p>&nbsp;</p>
<p>//Método getPorcentaje</p>
<p>public double getPorcentaje() {</p>
<p>double por;</p>
<p>por = (double) Ocupadas / (double) Aforo * 100.0;</p>
<p>return por;</p>
<p>}</p>
<p>&nbsp;</p>
<p>Este método calcula el porcentaje de ocupación de la sala (es un valor double)</p>
<p>&nbsp;</p>
<p>//Método getIngresos</p>
<p>public double getIngresos() {</p>
<p>double ingre;</p>
<p>ingre = Ocupadas * Entrada;</p>
<p>return ingre;</p>
<p>}</p>
<p>&nbsp;</p>
<p>Los ingresos se calculan multiplicando el número de entradas por lo que vale una entrada.</p>
<p>&nbsp;</p>
<p>La clase <em>SalaCine</em> una vez introducidos los métodos get quedaría de la siguiente forma:</p>
<p>&nbsp;</p>
<p>public class SalaCine {</p>
<p>&nbsp;</p>
<p>int Aforo;</p>
<p>int Ocupadas;</p>
<p>String Película;</p>
<p>double Entrada;</p>
<p>&nbsp;</p>
<p>//Constructor</p>
<p>public SalaCine() {</p>
<p>Aforo = 100;</p>
<p>Ocupadas = 0;</p>
<p>Pelicula = “”;</p>
<p>Entrada = 5.0;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Métodos set</p>
<p>&nbsp;</p>
<p>//Método setAforo</p>
<p>public void setAforo(int afo) {</p>
<p>Aforo = afo;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método <em>setOcupadas</em></p>
<p>public void setOcupadas(int ocu) {</p>
<p>Ocupadas = ocu;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método <em>setPelicula</em></p>
<p>public void setPelicula(String peli) {</p>
<p>Pelicula = peli;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método setEntrada</p>
<p>public void setEntrada(double entra) {</p>
<p>Entrada = entra;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método setLibres</p>
<p>public void setLibres(int lib) {</p>
<p>int ocu;</p>
<p>&nbsp;</p>
<p>ocu = Aforo – lib;</p>
<p>Ocupadas = ocu;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>//Métodos get</p>
<p>&nbsp;</p>
<p>//Método getAforo</p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="128" height="32" bgcolor="white">
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p>Métodos     Get</p>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>public int getAforo() {</p>
<p>return Aforo;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método getOcupadas</p>
<p>public int getOcupadas() {</p>
<p>return Ocupadas;</p>
<p>}</p>
<p>&nbsp;</p>
<table cellspacing="0" cellpadding="0" align="left">
<tbody>
<tr>
<td width="463" height="10"></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>//Método getPelicula</p>
<p>public String getPelicula() {</p>
<p>return Película;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método getEntrada</p>
<p>public double getEntrada() {</p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="128" height="33" bgcolor="white">
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p>Métodos     Get</p>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>return Entrada;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método getLibres</p>
<p>public int getLibres() {</p>
<p>int lib;</p>
<p>lib = Aforo – Ocupadas;</p>
<p>return lib;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>//Método getPorcentaje</p>
<p>public double getPorcentaje() {</p>
<p>double por;</p>
<p>por = (double) Ocupadas / (double) Aforo * 100.0;</p>
<p>return por;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>//Método getIngresos</p>
<p>public double getIngresos() {</p>
<p>double ingre;</p>
<p>ingre = Ocupadas * Entrada;</p>
<p>return ingre;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><em><span style="text-decoration: underline;">Métodos de orden</span></em></p>
<p>&nbsp;</p>
<p>Para finalizar la programación de la clase <em>SalaCine</em>, se programarán los dos métodos de orden que hemos indicado en el planteamiento de la clase. Estos métodos suelen realizar alguna tarea que involucra a las propiedades de la clase, modificándola internamente. No suelen devolver ningún valor, aunque pueden recibir parámetros.</p>
<p>&nbsp;</p>
<p>Veamos la programación del método <em>Vaciar</em>, cuyo objetivo es vaciar la sala y quitar la película en proyección:</p>
<p>&nbsp;</p>
<p>//Método Vaciar</p>
<p>public void Vaciar() {</p>
<p>Ocupadas = 0;</p>
<p>Película = “”;</p>
<p>}</p>
<p>&nbsp;</p>
<p>Como se puede observar, es un método muy sencillo, ya que simplemente cambia algunas propiedades de la clase.</p>
<p>&nbsp;</p>
<p>El método entraUno es también muy sencillo de programar. Este método le indica al objeto que ha entrado un nuevo espectador. Sabiendo esto, el objeto debe aumentar en uno el número de localidades ocupadas:</p>
<p>&nbsp;</p>
<p>//Método entraUno</p>
<p>public void entraUno() {</p>
<p>Ocupadas++;</p>
<p>}</p>
<p>&nbsp;</p>
<p>Añadiendo estos dos últimos métodos, la programación de la clase <em>SalaCine</em> quedaría finalmente como sigue:</p>
<p>public class SalaCine {</p>
<p>&nbsp;</p>
<p>int Aforo;</p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="249" height="33" bgcolor="white">
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p>Propiedades     (variables globales)</p>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>int Ocupadas;</p>
<p>String Película;</p>
<p>double Entrada;</p>
<p>&nbsp;</p>
<p>//Constructor</p>
<p>public SalaCine() {</p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="112" height="32" bgcolor="white">
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p>Constructor</p>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>Aforo = 100;</p>
<p>Ocupadas = 0;</p>
<p>Pelicula = “”;</p>
<p>Entrada = 5.0;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Métodos set</p>
<p>&nbsp;</p>
<p>//Método setAforo</p>
<p>public void setAforo(int afo) {</p>
<p>Aforo = afo;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método <em>setOcupadas</em></p>
<p>public void setOcupadas(int ocu) {</p>
<p>Ocupadas = ocu;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método <em>setPelicula</em></p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="113" height="32" bgcolor="white">
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p>Métodos     Set</p>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>public void setPelicula(String peli) {</p>
<p>Pelicula = peli;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método setEntrada</p>
<p>public void setEntrada(double entra) {</p>
<p>Entrada = entra;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método setLibres</p>
<p>public void setLibres(int lib) {</p>
<p>int ocu;</p>
<p>&nbsp;</p>
<p>ocu = Aforo – lib;</p>
<p>Ocupadas = ocu;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>//Métodos get</p>
<p>&nbsp;</p>
<p>//Método getAforo</p>
<p>public int getAforo() {</p>
<p>return Aforo;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método getOcupadas</p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="112" height="32" bgcolor="white">
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p>Métodos     Get</p>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>public int getOcupadas() {</p>
<p>return Ocupadas;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>//Método getPelicula</p>
<p>public String getPelicula() {</p>
<p>return Película;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método getEntrada</p>
<p>public double getEntrada() {</p>
<p>return Entrada;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método getLibres</p>
<p>public int getLibres() {</p>
<p>int lib;</p>
<p>lib = Aforo – Ocupadas;</p>
<p>return lib;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>//Método getPorcentaje</p>
<p>public double getPorcentaje() {</p>
<p>double por;</p>
<p>por = (double) Ocupadas / (double) Aforo * 100.0;</p>
<p>return por;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método getIngresos</p>
<p>public double getIngresos() {</p>
<p>double ingre;</p>
<p>ingre = Ocupadas * Entrada;</p>
<p>return ingre;</p>
<p>}</p>
<table cellspacing="0" cellpadding="0" align="left">
<tbody>
<tr>
<td width="273" height="5"></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>//Métodos de orden</p>
<p>&nbsp;</p>
<p>//Método Vaciar</p>
<p>public void Vaciar() {</p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="188" height="48" bgcolor="white">
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p>Métodos     de orden y otros métodos.</p>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>Ocupadas = 0;</p>
<p>Película = “”;</p>
<p>}</p>
<p>&nbsp;</p>
<p>//Método entraUno</p>
<p>public void entraUno() {</p>
<p>Ocupadas++;</p>
<p>}</p>
<p>}</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://ipem59.edu.ar/weblog/2011/05/java-ejercicio-guiado-programacion-de-una-clase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sonidos Wav</title>
		<link>http://ipem59.edu.ar/weblog/2011/04/sonidos-wav-2/</link>
		<comments>http://ipem59.edu.ar/weblog/2011/04/sonidos-wav-2/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 12:14:48 +0000</pubDate>
		<dc:creator>Ramiro Pablo Valveson</dc:creator>
				<category><![CDATA[Recursos de Sonidos]]></category>

		<guid isPermaLink="false">http://ipem59.edu.ar/weblog/?p=52</guid>
		<description><![CDATA[Aplausos Gol]]></description>
			<content:encoded><![CDATA[<p><a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/APLAUSOS3.wav">Aplausos</a></p>
<p><a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/GOL3.wav">Gol</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ipem59.edu.ar/weblog/2011/04/sonidos-wav-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/APLAUSOS3.wav" length="32136" type="audio/wav" />
<enclosure url="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/GOL3.wav" length="129345" type="audio/wav" />
		</item>
		<item>
		<title>Photoshop X5 &#8211; Material de Trabajo</title>
		<link>http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/</link>
		<comments>http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 14:45:49 +0000</pubDate>
		<dc:creator>Ramiro Pablo Valveson</dc:creator>
				<category><![CDATA[Especialidad Programación]]></category>
		<category><![CDATA[Informática Aplicada III]]></category>
		<category><![CDATA[Especialidad Programacion]]></category>
		<category><![CDATA[Photoshop CS5]]></category>

		<guid isPermaLink="false">http://ipem59.edu.ar/weblog/?p=33</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[
<a href='http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/borrado_fondo/' title='borrado_fondo'><img width="150" height="150" src="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/borrado_fondo-150x150.jpg" class="attachment-thumbnail" alt="borrado_fondo" title="borrado_fondo" /></a>
<a href='http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/caballero/' title='caballero'><img width="150" height="150" src="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/caballero-150x150.jpg" class="attachment-thumbnail" alt="caballero" title="caballero" /></a>
<a href='http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/caseron/' title='caseron'><img width="150" height="150" src="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/caseron-150x150.jpg" class="attachment-thumbnail" alt="caseron" title="caseron" /></a>
<a href='http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/hemisferic1/' title='hemisferic1'><img width="150" height="150" src="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/hemisferic1-150x150.jpg" class="attachment-thumbnail" alt="hemisferic1" title="hemisferic1" /></a>
<a href='http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/hemisferic2/' title='hemisferic2'><img width="150" height="150" src="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/hemisferic2-150x150.jpg" class="attachment-thumbnail" alt="hemisferic2" title="hemisferic2" /></a>
<a href='http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/obras/' title='Obras'><img width="150" height="150" src="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/Obras-150x150.jpg" class="attachment-thumbnail" alt="Obras" title="Obras" /></a>
<a href='http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/obras-2/' title='Obras'><img width="150" height="150" src="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/Obras1-150x150.jpg" class="attachment-thumbnail" alt="Obras" title="Obras" /></a>
<a href='http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/rio/' title='rio'><img width="150" height="150" src="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/rio-150x150.jpg" class="attachment-thumbnail" alt="rio" title="rio" /></a>

]]></content:encoded>
			<wfw:commentRss>http://ipem59.edu.ar/weblog/2011/04/photoshop-x5-material-de-trabajo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CorelDraw &#8211; Trabajo Práctico Final</title>
		<link>http://ipem59.edu.ar/weblog/2011/04/coreldraw-trabajo-practico-final/</link>
		<comments>http://ipem59.edu.ar/weblog/2011/04/coreldraw-trabajo-practico-final/#comments</comments>
		<pubDate>Mon, 18 Apr 2011 11:25:50 +0000</pubDate>
		<dc:creator>Ramiro Pablo Valveson</dc:creator>
				<category><![CDATA[Especialidad Programación]]></category>
		<category><![CDATA[Informática Aplicada III]]></category>
		<category><![CDATA[Coreldraw X5]]></category>
		<category><![CDATA[Especialidad Programacion]]></category>

		<guid isPermaLink="false">http://ipem59.edu.ar/weblog/?p=28</guid>
		<description><![CDATA[Ejercicio CorelDraw &#8211; Calculadora]]></description>
			<content:encoded><![CDATA[<p><a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/04/Ejercicio_calculadora.pdf">Ejercicio CorelDraw &#8211; Calculadora</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ipem59.edu.ar/weblog/2011/04/coreldraw-trabajo-practico-final/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trabajo Práctico N°2</title>
		<link>http://ipem59.edu.ar/weblog/2011/03/trabajo-practico-n%c2%b02/</link>
		<comments>http://ipem59.edu.ar/weblog/2011/03/trabajo-practico-n%c2%b02/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 14:38:43 +0000</pubDate>
		<dc:creator>mnuccelli</dc:creator>
				<category><![CDATA[Informática Aplicada II]]></category>

		<guid isPermaLink="false">http://ipem59.edu.ar/weblog/?p=15</guid>
		<description><![CDATA[Manual de manejo de la Consola de sonido de nuestra Escuela Grupo 1 Grupo 2 Grupo 3 Grupo 4 Grupo 5 Grupo 6 Grupo 7]]></description>
			<content:encoded><![CDATA[<p>Manual de manejo de la Consola de sonido de nuestra Escuela</p>
<p><a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/03/barby-georggio-y-lucio.doc">Grupo 1</a><br />
<a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/03/consolas-del-gran-césar.doc">Grupo 2</a><br />
<a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/03/informatica-aplicada.doc">Grupo 3</a><br />
<a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/03/informatica-aplicada-emi-anto-cele.doc">Grupo 4</a><br />
<a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/03/master-defecto.doc">Grupo 5</a><br />
<a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/03/SCRIVANO-TESAN-MAGNANO-VOGHERA.doc">Grupo 6</a><br />
<a href="http://ipem59.edu.ar/weblog/wp-content/uploads/2011/03/trabajo-practico-n°1-eve-y-dalmaa.doc">Grupo 7</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ipem59.edu.ar/weblog/2011/03/trabajo-practico-n%c2%b02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducción a JAVA</title>
		<link>http://ipem59.edu.ar/weblog/2011/03/introduccion-a-java/</link>
		<comments>http://ipem59.edu.ar/weblog/2011/03/introduccion-a-java/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 16:40:08 +0000</pubDate>
		<dc:creator>Ramiro Pablo Valveson</dc:creator>
				<category><![CDATA[Especialidad Programación]]></category>
		<category><![CDATA[Programación III]]></category>
		<category><![CDATA[Especialidad Programacion]]></category>
		<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://ipem59.edu.ar/weblog/?p=5</guid>
		<description><![CDATA[En http://www.java.sun.com tenemos todo lo necesario para bajarnos java y empezar a trabajar con él. Lo primero que tenemos que decidir es qué &#8220;edición&#8221; de java necesitamos. Hay tres disponibles: J2ME, J2SE y J2EE J2ME es la versión &#8220;Micro&#8221;. Es una versión &#8220;reducida&#8221; de java para aparatos pequeños. Los más típicos son los teléfonos móviles. [...]]]></description>
			<content:encoded><![CDATA[<p>En <a href="http://www.java.sun.com/">http://www.java.sun.com</a> tenemos todo lo necesario para bajarnos java y empezar a trabajar con él.</p>
<p>Lo primero que tenemos que decidir es qué &#8220;edición&#8221; de java necesitamos. Hay tres disponibles: <strong>J2ME</strong>, <strong>J2SE</strong> y <strong>J2EE</strong></p>
<ul>
<li><strong>J2ME</strong> es la versión      &#8220;Micro&#8221;. Es una versión &#8220;reducida&#8221; de java para      aparatos pequeños. Los más típicos son los teléfonos móviles. Si no      queremos desarrollar un juego para uno de estos diabólicos inventos, esta      no es nuestra versión.</li>
<li><strong>J2SE</strong> es la versión      &#8220;Standard&#8221;. Esta es la versión para las aplicaciones normales      que pueden correr en un PC. Normalmente, esta es la versión que debemos      descargar.</li>
<li><strong>J2EE</strong> es la versión      &#8220;Enterprise&#8221;. Esta versión es para el desarrollo de aplicaciones      web. Es útil para gente que programa en servidores web y hacen páginas web      complejas, con accesos a bases de datos, etc, etc.</li>
</ul>
<h4>EL J2SE</h4>
<p>Suponemos que nos hemos decidido por el <strong>J2SE</strong>. Dentro tenemos varias opciones para descargarnos. Vamos a verlas:</p>
<ul>
<li><strong>JRE</strong> es el entorno de      ejecución. Sirve para poder ejecutar programas java que ya estén hechos,      pero no para desarrollar nuestros propios programas. Esta opción es la      adecuada para aquellos que quieren navegar por internet y que les      funcionen los applets (programitas java) incluidos en algunas páginas web      o los chats realizados en java.</li>
<li><strong>JDK</strong> es el entorno de      desarrollo. Aquí está incluido el compilador de java, el debugger y otras      herramientas. Esta es la opción adecuada para los que quieren programar en      java sus propias aplicaciones.</li>
<li><strong>JDK + netbeans</strong> es lo      mismo de antes, pero incluye <strong>netbeans</strong>, un entorno visual      de desarrollo. Lee un poco más para una explicación más detallada.</li>
</ul>
<h4>UN ENTORNO VISUAL DE DESARROLLO.</h4>
<p>El <strong>JDK</strong> nos proporciona las herramientas necesarias para hacer nuestros programas, pero todas estas herramientas son a base de comandos. Esto quiere decir que nuestro programa java debemos escribirlo con un editor de nuestro sistema operativo (el <strong>notepad</strong>, por ejemplo, en windows o el <strong>vi</strong> en linux). Luego, desde una ventana de ms-dos o shell de linux, compilamos el programa por medio del comando <strong>javac</strong>. Finalmente, desde la misma ventana, lo ejecutamos con el comando <strong>java</strong>. La siguiente podría ser una sesión típica en linux una vez instalado el JDK</p>
<p>&#8211; Editamos el fichero java, lo escribimos y lo salvamos<br />
$ vi HolaMundo.java</p>
<p>&#8211; Lo compilamos<br />
$ javac HolaMundo.java</p>
<p>&#8211; Lo ejecutamos<br />
$ java HolaMundo<br />
¡Hola Mundo!</p>
<p>En la misma página podemos bajarnos el <strong>JDK + netbeans</strong>. El <strong>netbeans</strong> es un entorno visual de desarrollo. Cuando arrancamos <strong>netbeans</strong>, nos aparece un árbol con todas las clases de nuestra aplcación o proyecto (por supuesto, la primera vez que lo arranquemos saldrá vacío), un editor en el que podemos escribir nuestro programa, con opciones para ejecutar, para depurar, etc, etc. Para los conocedores de otros lenguajes, algo similar al Visual C++, Visual Basic o C++ Builder.</p>
<p>El desarrollo siempre es más fácil con una herramienta de este tipo, sin embargo su gran ventaja es también su gran inconveniente: Nos solucionan automáticamente muchos de los trabajos que haríamos a mano de no tenerla. Esto hace que haya cosas que no aprendamos. Es bastante habitual que programadores acostumbrados a estas herramientas no sepan luego compilar o incluso ejecutar un programa java fuera de ella.</p>
<p><strong>Netbeans</strong> tiene su propia página <a href="http://www.netbeans.org/">http://www.netbeans.org</a> en la que puedes descargarte el mismo <strong>netbeans</strong> (es gratuito) y módulos adicionales para el mismo (unos son gratuitos y otros no).</p>
<p>Hay otros entornos de desarrollo visuales gratuitos, como <strong>eclipse</strong>, que puedes descargarte de <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
<p>Y además están los de pago, como <strong>JBuilder</strong> (de Borland) o <strong>IntelliJ Idea</strong>.</p>
<h4>LA API DE JAVA</h4>
<p>Además de los tutoriales o libros de java que podamos conseguir para aprender, es muy útil la <strong>API</strong> de java. La <a href="http://java.sun.com/j2se/1.5.0/docs/api/index.html">API</a> son un montón de páginas web en las que están todas las clases standard de java, explicadas y con enlaces a ejemplos y tutoriales. Están comentados todos los métodos de todas las clases disponibles.</p>
<p>La <strong>API</strong> está en la página de sun y es conveniente tenerla siempre a mano, ya que es la referencia más completa que podremos encontrar en cuanto a clases y métodos se refiere.</p>
<h4>RESUMIENDO</h4>
<p>Para un programador que quiera empezar a hacer sus pinitos en java, hay que irse a la página de sun <a href="http://www.java.sun.com/">www.java.sun.com</a>, bajarse dentro del <strong>J2SE</strong> el <strong>JDK</strong> e instalarlo. Conviene hacer unos cuantos programas sin entorno visual para aprender lo máximo posible.</p>
<p>Conviene bajarse también la <a href="http://java.sun.com/j2se/1.5.0/docs/api/index.html">API</a>, de forma que la tengamos siempre a mano para consulta</p>
<p>Luego, por comodidad (o si tenemos prisa por ponernos a programar) podemos bajarnos un entorno visual de desarrollo como <strong>netbeans</strong> de <a href="http://www.netbeans.org/">www.netbeans.org</a> o <strong>eclipse</strong> de <a href="http://www.eclipse.org/">www.eclipse.org</a>.</p>
<p>Y ahora, aunque no es ninguna maravilla y está haciéndose, puedes ir a un <a href="http://www.chuidiang.com/java/novatos/index.php">mini tutorial de java</a>, para empezar a hacer un &#8220;Hola mundo&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://ipem59.edu.ar/weblog/2011/03/introduccion-a-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

