Teoría sobre los principios de programación en java

Solo disponible en BuenasTareas
  • Páginas : 10 (2432 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de febrero de 2011
Leer documento completo
Vista previa del texto
Teoría de Programación en Java

1) Teoría de Programación Orientada a Objetos (POO)

1.1) Concepto de Objeto: Atributos y Métodos
Un objeto es cualquier cosa real o abstracta de la cual nos interesa su comportamiento y que tiene una identidad única que la distingue de las demás. Un objeto es una unidad atómica formada por la unión de estado+comportamiento.
Un Objeto se compone de:
-Atributos (datos o variables): Información que posee cada objeto y que identifica su estado.
- Métodos (operaciones o funciones): Conjunto de instrucciones que definen el comportamiento del objeto. Reciben unos argumentos y devuelven un resultado.
Sólo se puede acceder a los atributos de un objeto a través de sus métodos.

Imaginemos que nuestro objeto es un exploit y que su plantilla es lasiguiente:

------------------------------------------
| Dame el lenguaje |
| Dame la vulnerabilidad |
| --------------- |
| | Autor | |
| | |Dame el autor |
| |Vulnerabilidad | |
| | | |
| |Lenguaje | |
| | | |
| --------------- |
| |
| Introduzco nuevo offset |
| |
------------------------------------------

Este diagrama representa la estructura de un objeto. La parte interna del objeto no es accesible ycontiene los atributos. La parte externa o interfaz del objeto es accesible y contiene los métodos.

/** Citar
*Para los que no conocen mucho sobre los exploits, les recomiendo que se den una vuelta por *http://foro.elhacker.net/index.php/board,32.0

*Para poder comprender este ejemplo, sólo es necesario saber que un exploit es un código *(codificado por un autor) que explota unavulnerabilidad para lograr ejecutar código *arbitrario en el sistema comprometido. La codificación puede haberse hecho en el lenguaje *que prefiera el autor: C, C++, Perl...
*Antes de lanzar un exploit contra un objetivo remoto, por ejemplo, debemos conocer su *sistema operativo y a veces es necesario cambiar la dirección offset dentro del código del *exploit, en función del sistema operativo y la versiónde service pack que el objetivo *tenga instalada, para ajustar el exploit a las características del sistema objetivo.
*/

Bien, nuestro objeto-exploit tiene algunos atributos como el autor del exploit (= Lion), la vulnerabilidad que explota (= Serv-U FTPD 3.x/4.x "SITE CHMOD" Command Remote stack buffer overflow) y el lenguaje en que se ha codificado el exploit (= Lenguaje C). Si otro objetoquiere acceder a estos atributos, no lo puede hacer directamente, sino a través de los métodos del objeto-exploit. Es decir,
· si quiere saber el autor que codificó el exploit, llamará al método "dame el autor" del objeto-exploit y recibirá como resultado el tipo string con el nombre del autor = "Lion".
· si quiere introducir una nueva dirección offset, llamará al método "introduzconuevo offset" y le pasará como argumento el tipo string con la dirección offset = "0x7ffa4a1b" a introducir para que el exploit nos funcione.
Generalmente, a estos métodos q "obtienen" o "introducen" se les llama métodos getters y setters. De esta forma, los métodos del objeto-exploit pasarán a codificarse bajo los nombres getAutor, getVulnerabilidad, getLenguaje, y setOffset.

Continuando con elejemplo...
· el prototipo del método getAutor será: String getAutor ()
String (antes del método), indica que la llamada al método devuelve un tipo String, como es una cadena de caracteres con el nombre del autor. Sin embargo, no hace falta pasarle ningún argumento al método, por lo que dejamos los paréntesis () vacíos.
· el prototipo del método setOffset será: void setOffset (String...
tracking img