Вы находитесь на странице: 1из 4

PASO DE PARAMETROS

Paso por valor El paso de parmetros por valor consiste en copiar el contenido de la variable que queremos pasar en otra dentro del mbito local de la subrutina, consiste pues en copiar el contenido de la memoria del argumento que se quiere pasar a otra direccin de memoria, correspondiente al argumento dentro del mbito de dicha subrutina. Se tendrn dos valores duplicados e independientes, con lo que la modificacin de uno no afecta al otro. Paso por referencia El paso de parmetros por referencia consiste en proporcionar a la subrutina a la que se le quiere pasar el argumento la direccin de memoria del dato. En este caso se tiene un nico valor referenciado (o apuntado) desde dos puntos diferentes, el programa principal y la subrutina a la que se le pasa el argumento, por lo que cualquier accin sobre el parmetro se realiza sobre el mismo dato en la memoria.

QUE ES LA PROGRAMACION ORIENTADA A OBJETOS?


La programacin orientada a objetos o POO (OOP segn sus siglas en ingls) es un paradigma de programacin que usa objetos y sus interacciones, para disear aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia, abstraccin, polimorfismo y encapsulamiento. Los objetos son entidades que combinan estado (atributo), comportamiento (mtodo) e identidad: El estado est compuesto de datos, ser uno o varios atributos a los que se habrn asignado unos valores concretos (datos). El comportamiento est definido por los procedimientos o mtodos con que puede operar dicho objeto, es decir, qu operaciones se pueden realizar con l. La identidad es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es su identificador (concepto anlogo al de identificador de una variable o una constante).

Un objeto contiene toda la informacin que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interaccin llamados mtodos, que favorecen la comunicacin entre ellos. Esta comunicacin favorece a su vez el cambio de estado en los propios objetos. Esta caracterstica lleva a tratarlos como unidades indivisibles, en las que no se separa el estado y el comportamiento. Los mtodos (comportamiento) y atributos (estado) estn estrechamente relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de mtodos para poder tratar los atributos con los que cuenta. El programador debe pensar indistintamente en ambos conceptos, sin separar ni darle mayor importancia a alguno de ellos. Hacerlo podra producir el hbito errneo de crear clases contenedoras de informacin por un lado y clases con mtodos que manejen a las primeras por el otro. De esta manera se estara realizando una programacin estructurada camuflada en un lenguaje de programacin orientado a objetos. La POO difiere de la programacin estructurada tradicional, en la que los datos y los procedimientos estn separados y sin relacin, ya que lo nico que se busca es el procesamiento de unos datos de entrada para obtener otros de salida.

La programacin estructurada anima al programador a pensar sobre todo en trminos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programacin estructurada slo se escriben funciones que procesan datos. Los programadores que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes solicitndoles que realicen sus mtodos por s mismos.

CLASES
En la programacin orientada a objetos, una clase es una construccin que se utiliza como un modelo (o plantilla) para crear objetos de esa clase. Este modelo describe el estado y el comportamiento que todos los objetos de la clase comparten. Un objeto de una determinada clase se denomina una instancia de la clase. La clase que contiene (y se utiliz para crear) esa instancia se puede considerar como del tipo de ese objeto, por ejemplo, una instancia del objeto de la clase "Personas" sera del tipo "Personas". Una clase por lo general representa un sustantivo, como una persona, lugar o (posiblemente bastante abstracta) cosa - es el modelo de un concepto dentro de un programa de computadora. Fundamentalmente, encapsula el estado y el comportamiento del concepto que representa. Encapsula el estado a travs de marcadores de datos llamados atributos (o variables miembro o variables de instancia), encapsula el comportamiento a travs de secciones de cdigo reutilizables llamados mtodos. Ms tcnicamente, una clase es un conjunto coherente que consiste en un tipo particular de metadatos. Una clase tiene tanto una interfaz y una estructura. La interfaz describe cmo interactuar con la clase y sus instancias con mtodos, mientras que la estructura describe cmo los datos se dividen en atributos dentro de una instancia. Una clase tambin puede tener una representacin (metaobjeto) en tiempo de ejecucin, que proporciona apoyo en tiempo de ejecucin para la manipulacin de los metadatos relacionados con la clase. En el diseo orientado a objetos, una clase es el tipo ms especfico de un objeto en relacin con una capa especfica.

OBJETOS
Un objeto se define como la unidad que en tiempo de ejecucin realiza las tareas de un programa. Tambin a un nivel ms bsico se define como la instancia de una clase. Estos objetos interactan unos con otros, en contraposicin a la visin tradicional en la cual un programa es una coleccin de subrutinas (funciones o procedimientos), o simplemente una lista de instrucciones para el computador. Cada objeto es capaz de recibir mensajes, procesar datos y enviar mensajes a otros objetos de manera similar a un servicio. En el mundo de la programacin orientada a objetos (POO), un objeto es el resultado de la instanciacin de una clase. Una clase es el anteproyecto que ofrece la funcionalidad en ella definida, pero sta queda implementada slo al crear una instancia de la clase, en la forma de un objeto. Por ejemplo: dado un plano para construir sillas (una clase de nombre clase_silla), entonces una silla concreta, en la que podemos sentarnos, construida a partir de este plano, sera un objeto de clase_silla. Es posible crear (construir) mltiples objetos (sillas) utilizando la definicin de la clase (plano) anterior. Los conceptos de clase y objetos son anlogos a los de tipo de datos y variable, es decir, definida una clase podemos crear objetos de esa clase, igual que disponiendo de un determinado tipo de dato (por ejemplo el tipo entero), podemos definir variables de dicho tipo:

MTODOS
Un mtodo es una subrutina asociada exclusivamente a una clase (llamados mtodos de clase o mtodos estticos) o a un objeto (llamados mtodos de instancia). Anlogamente a los procedimientos en los lenguajes imperativos, un mtodo consiste generalmente de una serie de sentencias para llevar a cabo una accin, un juego de parmetros de entrada que regularn dicha accin y, posiblemente, un valor de salida (o valor de retorno) de algn tipo. Algunos lenguajes de programacin asumen que un mtodo debe de mantener el invariante del objeto al que est asociado asumiendo tambin que ste es vlido cuando el mtodo es invocado. En lenguajes compilados dinmicamente, los mtodos pueden ser objetos de primera clase, y en este caso se puede compilar un mtodo sin asociarse a ninguna clase en particular, y luego asociar el vnculo o contrato entre el objeto y el mtodo en tiempo de ejecucin. En cambio en lenguajes no compilados dinmicamente o tipados estticamente, se acude a precondiciones para regular los parmetros del mtodo y postcondiciones para regular su salida (en caso de tenerla). Si alguna de las precondiciones o postcondiciones es falsa el mtodo genera una excepcin. Si el estado del objeto no satisface la invariante de su clase al comenzar o finalizar un mtodo, se considera que el programa tiene un error de programacin. La diferencia entre un procedimiento (generalmente llamado funcin si devuelve un valor) y un mtodo es que ste ltimo, al estar asociado con un objeto o clase en particular, puede acceder y modificar los datos privados del objeto correspondiente de forma tal que sea consistente con el comportamiento deseado para el mismo. As, es recomendable entender a un mtodo no como una secuencia de instrucciones sino como la forma en que el objeto es til (el mtodo para hacer su trabajo). Por lo tanto, podemos considerar al mtodo como el pedido a un objeto para que realice una tarea determinada o como la va para enviar un mensaje al objeto y que ste reaccione acorde a dicho mensaje.

CONSTRUCTORES Y DESTRUCTORES
CONSTRUCTORES Un constructor tiene las siguientes caractersticas: Siempre tienen el mismo nombre que la clase No tienen tipo de regreso El objetivo de un constructor es el de inicializar un objeto cuando ste es creado. Asignaremos los valores iniciales as como los procesos que sta clase deba realizar. Se utiliza para crear tablas de mtodos virtuales y poder as desarrollar el polimorfismo, una de las herramientas de la programacin orientada a objetos. Al utilizar un constructor, el compilador determina cual de los objetos va a responder al mensaje (virtual) que hemos creado. Tiene un tipo de acceso, un nombre y un parntesis.

Un constructor es una funcin especial que sirve para construir o inicializar objetos. En C++ la inicializacin de objetos no se puede realizar en el momento en que son declarados; sin embargo, tiene una caracterstica muy importante y es disponer de una funcin llamada constructor que permite inicializar objetos en el momento en que se crean.

Un constructor es una funcin que sirve para construir un nuevo objeto y asignar valores a sus miembros dato. Se caracteriza por: - Tener el mismo nombre de la clase que inicializa - Puede definirse inline o fuera de la declaracin de la clase - No devuelve valores - Puede admitir parmetros como cualquier otra funcin - Puede existir ms de un constructor, e incluso no existir Si no se define ningn constructor de una clase, el compilador generar un constructor por defecto. El constructor por defecto no tiene argumentos y simplemente sita ceros en cada byte de las variables instancia de un objeto. Si se definen constructores para una clase, el constructor por defecto no se genera. Un constructor del objeto se llama cuando se crea el objeto implcitamente: nunca se llama explcitamente a las funciones constructoras. Esto significa que se llama cuando se ejecuta la declaracin del objeto. Tambin, para objetos locales, el constructor se llama cada vez que la declaracin del objeto se encuentra. En objetos globales, el constructor se llama cuando se arranca el programa. El constructor por defecto es un constructor que no acepta argumentos. Se llama cuando se define una instancia pero no se especifica un valor inicial. Se pueden declarar en una clase constructores mltiples, mientras tomen parte diferentes tipos o nmero de argumentos. El compilador es entonces capaz de determinar automticamente a qu constructor llamar en cada caso, examinando los argumentos. Los argumentos por defecto se pueden especificar en la declaracin del constructor. Los miembros dato se inicializarn a esos valores por defecto, si ningn otro se especifica. DESTRUCTORES Un destructor es una funcin miembro con igual nombre que la clase, pero precedido por el carcter ~. Una clase slo tiene una funcin destructor que, no tiene argumentos y no devuelve ningn tipo. Un destructor realiza la operacin opuesta de un constructor, limpiando el almacenamiento asignado a los objetos cuando se crean. C++ permite slo un destructor por clase. El compilador llama automticamente a un destructor del objeto cuando el objeto sale fuera del mbito. Si un destructor no se define en una clase, se crear por defecto un destructor que no hace nada.

Вам также может понравиться