[OOP] Heredar Ó Agregar

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • MoaLaiSkirulais
    ^^(V)^^
    • 08-07-2003
    • 23268

    #1

    [OOP] Heredar Ó Agregar

    Herencia:

    Código PHP:
    class Fruit {
    
        // Return int number of pieces of peel that resulted from the peeling activity.
        public int peel() {
            return 1;
        }
    }
    
    class Apple extends Fruit {
    }
    
    //main 
    Apple apple = new Apple();
    int pieces = apple.peel(); 
    
    Agregacion:

    Código PHP:
    class Fruit {
    
        // Return int number of pieces of peel that resulted from the peeling activity.
        public int peel() {
            return 1;
        }
    }
    
    class Apple {
    
        private Fruit fruit = new Fruit();
    
        public int peel() {
            return fruit.peel();
        }
    }
    
    //main
    Apple apple = new Apple();
    int pieces = apple.peel(); 
    

    ambos diseños admiten el mismo main()
    sin embargo






    y ud.?
  • Candy
    High Princess
    • 18-01-2004
    • 8364

    #2
    soy dex

    pero q diferencia hay entre usar uno y el otro, ademas de la sintaxis?
    yo siempre lo hice como el primero.

    Comentario

    • Piluex
      Away
      • 10-10-2004
      • 3038

      #3
      Para ese caso lo más correcto es heredar.

      Comentario

      • Piluex
        Away
        • 10-10-2004
        • 3038

        #4
        igual te faltan muchos factores, osea, siempre lo más prolijo para esos casos es la herencia porque podés definir bien las interfaces, encapsular o no según lo que necesites.

        De todas formas te recomiendo leer design patterns de gamma.
        Editado por última vez por Piluex; 25-03-2008, 11:08 PM.

        Comentario

        • Alexander
          Pelotudo
          • 15-05-2003
          • 17827

          #5
          heredare 125 dolares?

          Comentario

          • ridicul_star
            Pichón
            • 24-03-2008
            • 26

            #6
            Yo me tiro por herencia...siempre lo he hecho asi pero depende porq hay momentos que no es necesario la herencia...yo usaria la segunda quedo mas Top jajajaja...pero depende para que...no en todo los campos es recomendable...!!!!

            Comentario

            • MoaLaiSkirulais
              ^^(V)^^
              • 08-07-2003
              • 23268

              #7
              existe una tendencia nosense a heredar y no a agregar...

              basicamente patrones de pensamientos muy rigidos grabados a rosca

              Comentario

              • Alexander
                Pelotudo
                • 15-05-2003
                • 17827

                #8
                heredaras tu siembra

                Comentario

                • Urban silence
                  Egelito activo
                  • 30-07-2004
                  • 300

                  #9
                  Originalmente publicado por MoaLaiSkirulais
                  existe una tendencia nosense a heredar y no a agregar...

                  basicamente patrones de pensamientos muy rigidos grabados a rosca

                  Mmm? Lo decís en general o te referís a este caso??

                  Por qué razón una manzana TENDRIA una fruta? El ejemplo que hay en el primer post no tiene sentido, la manzana ES una fruta.
                  http://las-frases.com.ar
                  Frases de pensadores, filósofos o simplemente gente común.

                  Comentario

                  • MoaLaiSkirulais
                    ^^(V)^^
                    • 08-07-2003
                    • 23268

                    #10
                    y quien dijo que tiene que ser asi??

                    ??

                    osea pq una manzana no podria ser un tiburon que tiene una frojajajrracha

                    Comentario

                    • Urban silence
                      Egelito activo
                      • 30-07-2004
                      • 300

                      #11
                      Originalmente publicado por MoaLaiSkirulais
                      y quien dijo que tiene que ser asi??

                      ??

                      osea pq una manzana no podria ser un tiburon que tiene una frojajajrracha
                      Sí, iba a acotar eso, pero después me olvidé.

                      Siempre depende del dominio de problema que tengas, pero en líneas generales, en tu ejemplo, que una manzana tenga una fruta no me parece que tenga sentido.

                      A lo que voy es a que no entiendo a qué viene tu comentario de que existe una tendencia nosense a heredar y no a agregar, ya que en general no me ha tocado ver casos en los que una agregación era mejor que una herencia para casos en los que la herencia era clara (ejemplo: manzana -> fruta). Y no logro asociarlo con tu ejemplo, ya que heredar en ese caso no tiene nada de "nosense".

                      Vos nombrás, de manera exagerada pero que se entiende perfectamente a lo que te referís, el caso de que una manzana sea un tiburón. Y en casos como esos evidentemente hay algo que está fallando en el diseño, se supone que la idea es modelar el mundo de la manera más real y clara posible. Que una manzana tenga un tiburón no tiene sentido desde el punto de vista real (repito que entiendo que tu ejemplo es tirado al boleo), entonces lo que estaría fallando ahi es tu diseño, que no puede reflejar la realidad de manera coherente. En el peor de los casos sería una "manzana tiburoneable" o algun bicho de esos.
                      Editado por última vez por Urban silence; 19-04-2008, 03:53 PM.
                      http://las-frases.com.ar
                      Frases de pensadores, filósofos o simplemente gente común.

                      Comentario

                      • judío ginger daywalker petiso
                        Pelotudo
                        • 14-03-2005
                        • 16758

                        #12
                        si agregas sin "agregar nada", es al pedo, y simplemente estas siendo redundante y desperdiciando los beneficios de la herencia.

                        y de cualquier manera, me parece mas acorde al paradigma sobrecargar metodos virtuales en la clase hijo en lugar de tener una copia de la clase padre adentro, y un metodo propio que lo wrapee...

                        K

                        Comentario

                        • Grün
                          Patrulla AntiSnobsensual
                          • 16-05-2007
                          • 2508

                          #13
                          Herencia. Obvio.

                          Comentario

                          • zxcvbs
                            ►▲◄
                            • 09-12-2005
                            • 1254

                            #14
                            Haces nesting de clases, cuando tenes una clase principal, que queres que englobe a todo lo demas, simplemente porque los objetos que contiene no te sirven fuera de esa clase.

                            En todo caso seria. Creo un mundo creo personas, fuera del mundo, no me interesan esos seres.
                            Change return success.
                            Going and coming without error.
                            Action brings good fortune...
                            Sunset.
                            Sunrise.
                            Berserker
                            Adios.

                            Comentario

                            • Frostwarrior
                              Nerd legendario
                              • 30-01-2006
                              • 29055

                              #15
                              desde mi incnorancia programaril, nestear no suele ser lo peor que debe ser evadido?

                              Comentario

                              Trabajando...