Es/FlightGear Newsletter September 2010: Difference between revisions

Jump to navigation Jump to search
Line 220: Line 220:


== Nasal para novatos OOP ==
== Nasal para novatos OOP ==
In OOP, internal state is managed by wrapping everything in a class using accessor functions for modifying and getting internal values. So internal state would in turn only be modified by an abstract interface: class "methods", instead of directly accessing class-internal fields.


Programación orientada a objetos OOP tiene que ver con la creación de "cosas" (por ejemplo una nube), con "acciones" (transformar, dibujar, actualizar) o "mensajes". Donde una clase (o hash en nasal) es la "plantilla" para una "cosa" que contiene una serie de ámbitos miembros. Por tanto la clase describe "la plantilla" o propiedades de los objetos que se pueden crear. Para utilizar una clase de realidad, tiene que ser "instanciada", lo que significa crear un objeto con una determinada "clase de plantilla" (o incluso varias clases diferentes).
Programación orientada a objetos OOP tiene que ver con la creación de "cosas" (por ejemplo una nube), con "acciones" (transformar, dibujar, actualizar) o "mensajes". Donde una clase (o hash en nasal) es la "plantilla" para una "cosa" que contiene una serie de ámbitos miembros. Por tanto la clase describe "la plantilla" o propiedades de los objetos que se pueden crear. Para utilizar una clase de realidad, tiene que ser "instanciada", lo que significa crear un objeto con una determinada "clase de plantilla" (o incluso varias clases diferentes).
Line 243: Line 239:
Así, uno de los primeros pasos para convertir el código de procedimiento para programación orientada a objetos sería agrupar tu código en una serie de lógica de "clases" (nube por ejemplo, campo de nube).
Así, uno de los primeros pasos para convertir el código de procedimiento para programación orientada a objetos sería agrupar tu código en una serie de lógica de "clases" (nube por ejemplo, campo de nube).


Classes may be composed of other classes, i.e. a "cloud field" class would in turn contain "cloud" classes. This is then called "composition".
Las clases pueden estar compuestas de otras clases, por ejemplo, una clase "campo de nube", que a su vez contiene la clase "nube ". Esto se denomina "composición".
Las clases pueden estar compuestas de otras clases, por ejemplo, una clase "campo de nube", que a su vez contiene la clase "nube ". Esto se denomina "composición".
Las clases pueden estar compuestas de otras clases, es decir, una clase "campo de nube", que a su vez contienen la clase "nube ". Esto se denomina "composición".
Las clases pueden estar compuestas de otras clases, es decir, una clase "campo de nube", que a su vez contienen la clase "nube ". Esto se denomina "composición".
Line 249: Line 244:
Otra forma es la herencia, donde un tipo puede heredar propiedades (campos: variables y métodos) de un "padre" de clase. Imagino que como tomar una "plantilla" para la clase y luego decir "hacer una nueva clase con esta plantilla".
Otra forma es la herencia, donde un tipo puede heredar propiedades (campos: variables y métodos) de un "padre" de clase. Imagino que como tomar una "plantilla" para la clase y luego decir "hacer una nueva clase con esta plantilla".


La herencia tiene la ventaja adicional de proporcionar un medio para personalizar el comportamiento de la clase sin tener que modificar la clase real, porque todos los campos de miembro puede ser parametrizado.
La herencia tiene la ventaja adicional de proporcionar un medio para personalizar el comportamiento de la clase sin tener que modificar la clase real, porque todos los campos de miembro pueden ser parametrizados.


Por ejemplo, una clase "cúmulo" pudiera derivarse de la clase "nube ", sólo por parametrización un (modelo de nube de diferentes texturas diferentes, diferentes transformaciones), sin tocar nada en la actual clase "nube".
Por ejemplo, una clase "cúmulo" pudiera derivarse de la clase "nube ", sólo por parametrización un (modelo de nube de diferentes texturas diferentes, diferentes transformaciones), sin tocar nada en la actual clase "nube".


Esto es básicamente como programación orientada a objetos se puede entender: las cosas se clasifican de acuerdo a "es " o "tiene una " relación.
Esto es básicamente como la programación orientada a objetos se puede entender: las cosas se clasifican de acuerdo a "es " o "tiene una " relación.


Por supuesto, todavía se pueden utilizar objetos como variables convencionales para pasar y devolver parámetros.
Por supuesto, todavía se pueden utilizar objetos como variables convencionales para pasar y devolver parámetros.
5,810

edits

Navigation menu