22
Programación Orientada a Objetos Compilado por: Dra. Mayela Coto. Mag. Sonia Mora Adaptado por: Jennifer Fuentes Bustos

ClasePOO CreacionObjetos Constantes I2015

Embed Size (px)

DESCRIPTION

calse objetos c++

Citation preview

  • Programacin Orientada a Objetos

    Compilado por:

    Dra. Mayela Coto.

    Mag. Sonia Mora

    Adaptado por: Jennifer Fuentes Bustos

  • Creacin de objetos

    Creamos un objeto mediante la siguiente sintaxis:

    Clase_de_objeto identificador ([lista_de_argumentos]);

    //Crea el objeto de tipo Clase_de_objeto con un constructor

    Ejemplos:

    Persona personita;

    Persona pers1(01234567,Sandra, Soto);

    Persona pers2("3456789", "Silvia", "Soto", 'F',1995);

    En ambos casos, se crean objetos en memoria esttica.

    La memoria esttica se define en el momento en que se compila el programa. Una vez que la funcin finaliza, el objeto se destruye.

  • Una empresa de tejidos necesita crear retazos de telas con el borde ribeteado en hule e impermeabilizadas para cubrir tapas circulares. Declare una clase que permita calcular la cantidad de hule que se necesita para el ribete (en cm) y el costo de impermeabilizarlo ($0,75 por cm2). Defina una clase con atributos, mtodos constructores (con y sin parmetros) y los mtodos set y get para cada uno de los atributos, los mtodos de clculo as como la cantidad de hule necesario y el costo de impermeabilizacin.

    Ejemplo: Clase Circulo

  • Ejemplo: Clase Circulo #include

    using namespace std;

    class Circulo

    {

    private:

    float radio;

    public:

    Circulo( )

    {

    radio=0;

    }

    Circulo( float pRadio )

    {

    radio=pRadio;

    }

  • Ejemplo: Clase Circulo void setRadio (float pRadio)

    { radio = pRadio; }

    float getRadio ( )

    { return (radio); }

    float longitud()

    { return 2 * 3.14159 * radio; }

    float area()

    { return 3.14159 * radio * radio; }

    float costo()

    { return 0.75* area(); }

    };

  • Constantes Se utilizan para representar datos que no cambian durante toda la aplicacin.

    Tambin se les asocia un tipo de datos.

    Se definen como variables normales, pero precediendo el nombre de su tipo la palabra reservada const y dndoles siempre un valor inicial al declararlas.

    Sintaxis: const = ;

    Ejemplo: const float PI = 3.14159;

  • Constantes

    Algunas de las ventajas que reportara el uso de la constante PI:

    Es tedioso y montono escribir constantemente la secuencia 3.14159

    en vez de PI

    Se pueden cometer errores

    que no seran detectados por el compilador.

    Mayor legibilidad para

    los cdigos fuentes.

    Si se decide cambiar la

    precisin (usar por ejemplo

    3.1415926) se tendran que hacer modificaciones en todos los lugares donde aparece la

    secuencia de dgitos.

  • Ejemplo: Clase Circulo #include

    using namespace std;

    const float PI = 3.14159;

    class Circulo

    {

    private:

    float radio;

    public:

    Circulo( ) {

    radio=0;

    }

    Circulo( float pRadio ) {

    radio=pRadio;

    }

  • Ejemplo: Clase Circulo void setRadio (float pRadio)

    { radio = pRadio; }

    float getRadio ( )

    { return (radio); }

    float area() {

    return PI * radio * radio;

    }

    float longitud() {

    return 2 * PI * radio;

    }

    float costo()

    { return 0,75* area(); }

    };

  • Ejemplo: Clase Circulo

    Escriba la seccin del main() para crear TRES objetos Telas

    telaA: debe crearse con el constructor con parmetros y tiene un radio de 4

    telaB: debe crearse con el constructor con parmetros solicitando previamente el radio al usuario.

    telaC: debe crearse con el constructor sin parmetros y posteriormente asignarle un valor al radio dado por el usuario

    Calcule el largo de hule requerido y el costo de impermeabilizar la tela para la tapa C (telaC)

  • int main() {

    int r;

    Circulo telaA(4);

    cout

  • Circulo telaC;

    cout

  • Ejemplo: Clase Circulo

    Duplique el valor actual del radio de la telaB

    Calcule la nueva cantidad de hule y el nuevo costo de impermeabilizarla

  • Obtiene el radio

    Ejemplo: Clase Circulo int main() {

    int r;

    int r1;

    r1 = telaB.getRadio();

    r1= r1 *2;

    telaB.setRadio(r1);

    cout

  • Ejemplo: Clase Circulo int main() {

    int r;

    int r1;

    r1 = telaB.getRadio();

    r1= r1 *2;

    telaB.setRadio(r1);

    ..

    system("pause");

    return 0;

    }

    telaB.setRadio(telaB.getRadio()*2);

  • Ejercicio Un propietario de tierras quiere vender su terreno pero lo quiere

    hacer segregndolo en terrenos ms pequeos , todos con forma rectangular. Disee una clase que le permita resolver el problema de calcular lo que cuesta cada terreno , con los mtodos bsicos (constructor, set y get) y mtodos de clculo. El costo del terreno es de 50,000 colones por m2

    largo

    ancho

    area = largo * ancho perimetro = 2*largo + 2*ancho

  • Ejemplo: Clase Rectngulo #include

    using namespace std;

    class Rectangulo

    {

    private:

    // atributos

    float largo;

    float ancho;

    // mtodos

    public:

    // constructor con parmetros

    Rectangulo (float l, float a)

    { largo = l;

    ancho = a;

    }

    // constructor sin parmetros

    Rectangulo ( )

    { largo = 0;

    ancho = 0;

    }

  • Ejemplo: Clase Rectngulo // mtodos set

    void setLargo(float l)

    {

    largo=l;

    }

    void setAncho (float a)

    {

    ancho=a;

    }

    // mtodos get

    float getLargo( )

    {

    return largo;

    }

    float getAncho( )

    {

    return ancho;

    }

  • Ejemplo: Clase Rectngulo // mtodos de clculo

    float perimetro( ) {

    return 2 * (largo+ ancho);}

    float area( ) {

    return largo * ancho;}

    float costo( ) {

    return area()*50000;

    }; // fin clase

    Note la diferencia en cmo se invoca a un atributo y a un mtodo

  • Ejercicio: Clase Rectngulo

    Defina el main de la clase Rectangulo

    Cree dos objetos terrenos de tipo Rectangulo, calcule e imprima el rea y el permetro de ambos y el costo de venta de los mismos.

  • Ejercicio: Clase Rectngulo // cuerpo principal

    int main( )

    {

    Rectangulo terrenoA(7,3);

    cout

  • Usado nicamente con fines acadmicos