jueves, 3 de febrero de 2011

Sintaxis de clases: métodos, atributos, visibilidad

Semana 2
Taller Programación Orientada a Objetos


Esta es la implementación de el código que hicé en javascript:
La manera de hacer clases es:


function Menu( )//SE CREA LA CLASE
{
// Codigo
function Nuevo(){//METODO
}
function Guardar(){//METODO
}
function Salir(){//METODO
}
function Deshacer() {
} //METODO
};


de hacer el objeto de la clase:

var Opciones = Menu();//SE CREA EL OBJETO


se formar métodos:

function Colorear() {//METODO
}


Y mi código, aunque aún sin utilizar los métodos de javascript que me permiten crear las figuras geometricas y obtener las coordenadas.



miércoles, 2 de febrero de 2011

Diseño de programas en términos de clases múltiples

Semana 2
Materia Programación Orientada a Objetos

Para mi proyecto elegí diseñar un Paint, las funciones más básicas que deberá cumplir es dibujar en linea, rectángulos, círculos, óvalos, polígonos, cambiar los colores de las figuras, rellenos, cambiar el fondo, entre otros.
Entonces he pensado en los siguientes clases con sus atributos y métodos, seguramente me faltaran de incluir más funciones pero prefiero empezar así para no hacer esto muy extenso.

Clases:

Clase Dibujo, será la clase que como su nombre lo dice permitirá dibujar de acuerdo a la opción elegida, ya sea alguna figura geométrica, lineas, texto, etc, irá guardando los dibujos del usuario con las formas, colores y fondos deseados. Podría llamarle a los métodos:

Dibujo.-Aquí se crea el dibujo en sí. Puede tener de atributos, las coordenadas, movimiento del mouse.
Área de dibujo.-Aquí se irán acumulando los dibujos que hace el usuario.

Clase Herramientas, esta clase es la que puede tener muchos métodos como:

Dibujar a lápiz(y este a su vez el grosor del lápiz),
Rellenar de color,
Dibujar figuras geométricas(Rectángulo, Ovalo, Circulo, etcétera),
Cambiar colores,
Borrar,
Insertar un área de texto.

Clase Menú, esta clase es la que tendrá de métodos:

Comenzar un nuevo dibujo,
Borrar el trabajo,
Guardarlo,
Abrir alguna imagen,
Deshacer,
Rehacer,
Salir.


Así es como creo debe ser el diseño de mi programa, cualquier sugerencia, duda, etc, dejen sus comentarios.

miércoles, 26 de enero de 2011

Selección, instalación y configuración de herramientas

Semana 1
Taller de Programación Orientada a Objetos

Estas son algunas herramientas que instalé en el salón de clases:

Umbrello
Es una herramienta para crear diagramas UML que ayudan en la creación de un software, se pueden hacer los diagramas manualmente o importarlos de códigos como Java, Python, C++, Javascript entre otros y viceversa es decir ya creado el diagrama pasarlo al código correspondiente.
Bueno la manera de instalarlo es:
sudo apt-get install umbrello







Bouml
Permite definir y hacer código en C++, Java, Idl y Php, es una aplicación UML2, una gran virtud de este programa es que es muy rápido y ocupa poca memoria aún y si se manejan miles de clases.
Instalación:
sudo apt-get install bouml







C++
Para compilar en C++ va a ser necesario instalar el compilador g++ (GNU C++) para eso tecleamos en la terminal:
sudo apt-get install g++


Tutoriales:
Manual 2 (en inglés)


Java
Para java es necesario instalar el paquete jdk:
sudo apt-get install openjdk-6-jdk



Python

Para python no es necesario instalar nada en ubuntu, ya viene por default lo necesario, al menos que se quiera utilizar paquetes adicionales.
PyQt
Es una herramienta para hacer cosas gráficas en python, se instala:
sudo apt-get install pyqt4-dev-tools python python-qt4 qt4-designer

Tutorial Python --> La documentación de su página oficial.


Y para mi proyecto en particular:

Este es un libro que me ha ayudado mucho para Php:
PHP y MyQSL / Ángel Cobo - Patricia Gómez - Daniel Pérez - Rocío Rocha
TECNOLOGÍAS PARA EL DESARROLLO DE APLICACIONES WEB
Publicado por DÍAZ de SANTOS


Tutorial HTML5
http://www.w3schools.com/html5/default.asp

Tutorial Javascript
http://www.w3schools.com/js/default.asp


Bueno espero chequen la entrada y cualquier cosa comenten, saludos.

Definición inicial de tema de proyecto

Semana 1
Clase de Programación Orientada a Objetos

Hola compañeros, la tarea de esta primer semana como todos sabemos es elegir un tema para proyecto que se irá desarrollando durante el curso, lo que me decidí a hacer es una aplicación Facebook, escogí esto porque desde semestre pasado me quedé con ganas de hacer algo en Facebook además ya desde hace tiempo que tengo esta idea, sin embargo no me he dado el tiempo de desarrollarla.



Lo que quiero hacer tratará de una aplicación en la que se pueda dibujar, algo asi como el famoso Paint de Microsoft Windows:



o como Sketchpad, una aplicación que permite dibujar online, con la NOVEDAD de que esta desarrollada en HTML5:



Me gustaría implementar mi código en HTML5 y Javascript(usandolo orientado a objetos), además de el lenguaje PHP que utiliza facebook, pense hacerlo en HTML5 porque es una nueva tecnología que tiene muchas virtudes en aplicaciones web, y se pueden obtener resultados sorprendentes sin la necesidad de utilizar Adobe Flash.



Lo que pienso que mi aplicación puede tener de novedoso frente a estos programas que puse de ejemplo es que estará como aplicación de Facebook con las funciones de además dibujar poder exportar alguna fotografía de cualquier álbum propio o de amigos de facebook



y poder dibujar encima de ella, y que permita mandar la fotografía al muro de la otra persona o al muro propio, guardarla etc.

Bueno esa es mi idea inicial, espero puedan darme sugerencias, correcciones, etc, tengo inquietud en cuanto al lenguaje de programación en que me voy a apoyar Javascript ya que no es un lenguaje puramente orientado a objetos, sin embargo si se puede usar como orientado a objetos, si hay algo malo en esto cambiaré el proyecto a uno desarrollado en Php que ya habia comentado con la Doctora.