Upload
jorge-gutierrez
View
229
Download
1
Embed Size (px)
DESCRIPTION
fundamentos d eprogramacion
Citation preview
Tecnologías de la información y comunicaciones
Alumno: Gutiérrez Avila Jorge Luis
Profesor: Chávez Nava Jorge Alberto
Grupo 211-V
Cuadro comparativo
Libro y Autor Programación OO Clases Objeto Herencia Encapsulamiento Polimorfismo
Metodología de la programación orientada a objetos
Leonardo López Román
Aunque la programación orientada a objetos (POO) aparece muchos años antes, es a mediados de los noventas cuando se generaliza su uso. La POO añade a la programación una nueva estructura: el objeto, con sus conceptos; objetos, clases,
Las clases son los modelos sobre los cuáles se construirán nuestros objetos.
Las clases por sí mismas, no son más que modelos que nos servirán para crear objetos en concreto. Podemos decir que una clase, es el razonamiento abstracto de un objeto, mientras que el objeto, es su materialización. A la acción de crear objetos, se la denomina instanciar una clase y dicha instancia, consiste en asignar la clase, como valor a una variable
Como comentamos en el título anterior, algunos objetos comparten las mismas propiedades y métodos que otro objeto, y además agregan nuevas propiedades y métodos. A esto se lo denomina herencia: una clase que hereda de otra
Este concepto es uno de los mas importantes en términos de seguridad dentro de nuestra aplicación, la encapsulación es la forma de proteger nuestros datos dentro del sistema, estableciendo básicamente los permisos o niveles de visibilidad o acceso de nuestros datos
Este tal vez sea uno de los conceptos de la programación orientada a objetos mas usados pero muchas veces sin saber que se aplica ya que el concepto inicialmente puede ser un poco confuso, básicamente mediante el polimorfismo programamos de forma general en lugar de hacerlo de forma especifica, se usa cuando se trabajen con la herencia y objetos de características comunes los cuales comparten la misma superClase y árbol jerárquico, al trabajar con este concepto optimizamos y simplificamos en gran medida nuestro trabajo.
Tecnologías de la información y comunicaciones
Alumno: Gutiérrez Avila Jorge Luis
Profesor: Chávez Nava Jorge Alberto
Grupo 211-V
Cuadro comparativo
RESUMEN
El proceso enseñanza aprendizaje de la programación de computadoras siempre ha sido difícil. No importa cuál se esté usando como primer lenguaje en la enseñanza, sea FORTRAN, COBOL, BASIC, PASCAL, C, C++, JAVA, C#, o cualquier otro. El problema es que los estudiantes no
desarrollan lógica o desarrollan muy poca lógica, escenario que se ha complicado con la permanente evolución de los paradigmas y la aparición de nuevos lenguajes de programación. Con la idea de coadyuvar en el mejoramiento de esta situación, este autor ha desarrollado y publicado
como libro seis metodologías. En este artículo se hace una presentación general de la metodología de cada uno de los seis libros, haciendo énfasis en la evolución que han tenido dichas metodologías
Tecnologías de la información y comunicaciones
Alumno: Gutiérrez Avila Jorge Luis
Profesor: Chávez Nava Jorge Alberto
Grupo 211-V
Cuadro comparativo
Ejemplo
CLASES
En Python, una clase se define con la instrucción class seguida de un nombre genérico para el objeto.
class Objeto:
pass
class Pelo:
pass
class Ojo:
pass
HERENCIA
Tecnologías de la información y comunicaciones
Alumno: Gutiérrez Avila Jorge Luis
Profesor: Chávez Nava Jorge Alberto
Grupo 211-V
Cuadro comparativo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Animal{
public String tamaño;
public void comer(){
/**Comportamiento.....*/
}
}
class Perro extends Animal{
public int dientes;
public void correr(){
/**Comportamiento.....*/
}
}
class Paloma extends Animal{
Tecnologías de la información y comunicaciones
Alumno: Gutiérrez Avila Jorge Luis
Profesor: Chávez Nava Jorge Alberto
Grupo 211-V
Cuadro comparativo
Encapsulamiento en JAVA
1 public class Principal{
2
3 public String atributo1;
4 private String atributo2;
5 protected String atributo3;
6
7 /**Métodos Set y Get para trabajar con las variables*/
8
9 public String getAtributo2() {
10 return atributo2;
11 }
12
Tecnologías de la información y comunicaciones
Alumno: Gutiérrez Avila Jorge Luis
Profesor: Chávez Nava Jorge Alberto
Grupo 211-V
Cuadro comparativo
13 public void setAtributo2(String atributo2) {
14 this.atributo2 = atributo2;
15 }
16
17 }
Polimorfismo en JAVA
class FiguraGeometrica{
}
class Cuadrado extends FiguraGeometrica {
}
class Triangulo extends FiguraGeometrica {
}
Tecnologías de la información y comunicaciones
Alumno: Gutiérrez Avila Jorge Luis
Profesor: Chávez Nava Jorge Alberto
Grupo 211-V
Cuadro comparativo
class Circulo extends FiguraGeometrica{
}
public class Principal{
public void metodo(){
/**Puedo crear objetos concretos*/
FiguraGeometrica miFiguraGeometrica = new FiguraGeometrica();
Cuadrado miCuadro=new Cuadrado();
/**Puedo crear objetos polimorficos*/
miFiguraGeometrica=miCuadro;
/**Objeto Cuadrado de tipo FiguraGeometrica*/
FiguraGeometrica miCuadrado= new Cuadrado();
/**Objeto Circulo de tipo FiguraGeometrica*/
FiguraGeometrica miCirculo=new Circulo();
/**Objeto Triangulo de tipo FiguraGeometrica*/
Tecnologías de la información y comunicaciones
Alumno: Gutiérrez Avila Jorge Luis
Profesor: Chávez Nava Jorge Alberto
Grupo 211-V
Cuadro comparativo
FiguraGeometrica miTriangulo=new Triangulo();
}
}