Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Objetos, Clase, Operador this, constructures

Objetos, Clase, Operador this, constructures

Objetos, Clase, Operador this, constructures

Angel Herrera Sara

October 10, 2017
Tweet

More Decks by Angel Herrera Sara

Other Decks in Programming

Transcript

  1. Clase • class nombre de clase { cuerpo de la

    clase }; • tipo nombre clase::nombre función (lista de parámetros) {//cuerpo de la función miembro} void Cuadrado::dibuja( ){//Algoritmo para dibujar un cuadrado}
  2. Operador de Resolución de Ámbito “::” • El :: se

    llama operador de resolución de ámbito; indica al compilador que la función pertenece a la clase
  3. Operador de “this” • Puede utilizarse en cualquier método de

    la clase para referirse al objeto actual. • Cada vez que se llama a una función miembro, automáticamente se pasa un puntero al objeto que la llama. class Cuadrado { int lado; Color color; public: void dibuja( ); void modifica(int lado, Color color){ this->lado = lado; this->color = color; } };
  4. Encapsulación • El acceso a los datos de una clase

    debe realizarse de forma controlada, protegiéndolos de accesos no deseados. • La encapsulación en los lenguajes orientados a objeto suele lograrse al declarar algunos datos como privados. • La principal razón del uso de la encapsulación es evitar el acceso directo a atributos de una clase desde fuera de la propia clase.
  5. Encapsulación en C++. Modificadores de acceso • El mecanismo aportado

    por C++ para conseguir la encapsulación es la utilización de los modificadores de acceso private y public. • Las funciones que son públicas o accesibles para otras clases forman el interfaz de una clase y son declaradas como public. • Las funciones que no permiten el acceso desde otras clases, es decir, aquellas cuyo uso es de tipo interno a la clase en la que están definidas son declaradas como private.
  6. Encapsulación en C++. Modificadores de acceso class nombre de clase

    { private: //miembros privados public: //miembros públicos };
  7. Instancia de una Clase o Objeto • Para llamar a

    una función miembro desde una parte del programa que sea parte de la clase, se debe utilizar el nombre del objeto y el operador punto. p.e. • Cola a, b; // se crean 2 objetos tipo cola. • a.iniciar(); // llama a la función iniciar para el objeto a.
  8. Constructores en C++ • La función constructor debe tener el

    mismo nombre que la clase. Por ejemplo, en la clase Telefono, su constructor sólo puede llamarse Telefono. Además, la función constructor no puede devolver ningún tipo de datos, incluyendo el tipo nombre de clase::nombre de clase (lista de parámetros) { //inicialización de datos miembro del objeto }
  9. Clasificación de constructores • Constructor predeterminado, por defecto o por

    omisión. Es aquel constructor que no requiere ningún argumento. • Telefono (); Constructor parametrizado u ordinario. Crea una nueva instancia de la clase e inicializa los datos miembro con los valores incluidos en la declaración. Telefono (string _numero,string tarifa, string _usuario);
  10. Destructores • a veces necesitamos realizar ciertas acciones cuando el

    objeto se destruye. Una de las ocasiones en las que se hace necesario el uso de un destructor es cuando se necesita liberar los recursos previamente. ~ Telefono ();