UNIVERSIDAD NACIONAL MAYOR DE SAN INGENIERIA DE SISTEMAS ALGORITMICA II
TIPO DE DATO ABSTRACTO (TDA) El modelo define una perspectiva abstracta del problema. Esto implica que el modelo se enfoque solamente en aspectos relacionados con el problema para luego definir las propiedades del problema. Estas propiedades incluyen •los datos que son afectados •las operaciones que son identificadas
TIPO DE DATO ABSTRACTO (TDA) Ejemplo:
EMPLEADO CODIGO NOMBRE DIRECCION SUELDO HORAS TRABAJADAS PRESENTACION DE SUS DATOS REGISTRAR HORAS TRABAJADAS DETERMINACION DE SU SUELDO
CLASE :
Una clase es la implementaci贸n de un tipo de datos abstracto (TDA). Define atributos y m茅todos (datos y operaciones) que implementan la estructura de datos y operaciones del TDA, respectivamente.
OBJETO: ď‚Ą
Un objeto es una instancia de una clase. Puede ser identificado en forma Ăşnica por su nombre y define un estado, el cuĂĄl es representado por los valores de sus atributos en un momento en particular
CLASES Y OBJETOS
CLASE
OBJETOS Juan
PERSONA
Ana
Luis
DEFINICION DE UNA CLASE CLASE EMPLEADO { //atributos entero numero; cadena_caracteres // Metodos Miembro saludo(); real salario(); }
nombre;
La idea de clases y objetos Conceptualicemos a una clase como un modelo o patrรณn, para sus objetos. Los objetos definidos para una clase comparten el marco fundamental de la clase. Una clase es una abstracciรณn , mientras el objeto es una entidad real. Para comprender la naturaleza de una clase , se deberรกn considerar dos niveles de definiciรณn : El abstracto y el de instrumentaciรณn.
La idea de clases y objetos Nivel abstracto:
Una clase se puede describir como una interfaz, porque su propósito principal es describir las operaciones, o funciones, que pueden realizar sus objetos. La vista abstracta de una clase como una interfaz proporciona su vista de salida mientras oculta su estructura interna y detalles de comportamiento.
Nivel de instrumentación:
La instrumentación de la clase proporciona su vista interior, mostrando los secretos de la organización de sus datos e instrumentación de función. La instrumentación de una clase consiste en dos secciones principales Una sección publica Una sección privada.
Private, Public, Protected Las palabras reservadas privado ( private ) y publico ( public ) Son opcionales.
Privado (Private), Publico (Publico) Cuando se defina una clase, haga privados todos los miembros a los que no necesita accederse desde el exterior. Esta practica facilita la programaci贸n modular al ocultar los detalles de la clase.
Creaci贸n de Objetos: Un objeto es a una clase como una variable a un tipo de dato. Por eso, a veces, el termino de objeto se utiliza indistintamente como instancia o modelo de una clase y tambi茅n como una variable.
Creaci贸n de Objetos: Clase rectangulo { privados: entero l, h; publicos: fijar_dimensiones(entero w, entero h); entero area(void); }
rectangulo ventana;
//objeto
Creación de Objetos: El siguiente programa principal declara dos objetos rectangulo y llama a las funciones miembros de la clase, utilizando el operador “. “ .
principal() { rectangulo rect1, rect2; rect1.fijar_dimensiones(10, 20); rect2.fijar_dimensiones(100,200); Escribir(“El area del primero es:”,rect1.area()) Escribir(“El area del segundo es:”,rect2.area()) }
Trabajo con Objetos. Cuando se llama a una funci贸n miembro, se env铆a un mensaje al objeto. El operador ( . ) se utiliza con objetos de la clase.
Constructores y Destructores Un constructor es una funci贸n miembro especial que construye objetos. Un constructor es llamado para asignar espacio a un objeto, asignar valores a sus miembros datos y realizar tareas iniciales para un nuevo objeto. Tiene el mismo nombre que la clase, y puede tener par谩metros, pero no puede devolver valores. Si no se define un constructor para una clase el compilador generara un constructor por defecto.
Constructores y Destructores clase circulo { privado: entero centro_x, centro_y; doble radio; publico: //constructor
circulo (entero x, entero y, doble r ) { radio = r; centro_x = x; centro_y = y; } //otros mĂŠtodos
}
Constructores y Destructores Un Destructor es una función miembro con el mismo nombre que la clase, mas una tilde que se añade al principio. Una clase tendrá solo una función destructor, que no tendrá argumentos y no devolverá resultado. Su tarea es opuesta al constructor, liberara memoria que fue asignada al objeto por el constructor.
Constructores y Destructores clase frutas { privado: entero datos; publico: frutas () { datos = 0; }} frutas () { } }