Home > oop > Dibalik inheritance…

Dibalik inheritance…

Ada hirarki klasifikasi class; ada superclasses dan ada subclasses…

Ada pewarisan properti; properti superclass diwariskan menjadi properti dari subclass; kadang-kadang ada properti superclass yang diwariskan, padahal sebenarnya tidak relevan untuk menjadi properti dari subclass (incidental inheritance)…

Ada spesialisasi; behaviour dari subclass merupakan bentuk khusus (spesial) behaviour dari superclass (yang lebih general)…

Ada subtyping; superclass bisa dianggap supertype dan subclass adalah subtype meskipun di beberapa bahasa ada perbedaan antara subtyping dan inheritance

Ada code sharing; kode operasi (method) dari superclass akan di-share menjadi kode operasi dari subclass

Categories: oop
  1. February 17, 2010 at 1:59 pm

    Jadi inget cerita temen, katanya James Gosling (pembuat Java) pernah berkata bahwa dia ingin menghilangkan inheritance dari Java. Katanya inheritance “overused”.

    “Favor aggregation over inheritance” (Gang of Four)

  2. February 18, 2010 at 5:48 pm

    Iya, apapun juga kalau overused memang jadi bermasalah ya…
    Apalagi jika banyak properti yang terpaksa ikut terwariskan padahal tidak relevan lagi. Tetapi, kasus-kasus lain, inheritance bisa menjadi solusi terbaik.

    Beberapa pattern yang didefinisikan GoF memang banyak yang menawarkan solusi dengan agregasi ya…

    Thx untuk sharing-nya…

  3. March 9, 2010 at 12:41 am

    masih blum mengerti maksudnya aku hik hik hik

  4. March 10, 2010 at 11:15 am

    @sqa indonesia:
    Ini untuk yang sedang belajar OOP…

  5. weltam
    March 11, 2010 at 12:04 pm

    “Favor aggregation over inheritance” (Gang of Four)

    yaps. kita gak bisa terlalu cepat introduce inheritace atau abstraksi.

    lebih baik inheritace tersebut didapatkan dari hasil refactoring.

    jadi kita benar2 harus berhati2 dengan inheritance

    http://programmer.97things.oreilly.com/wiki/index.php/Beware_the_Share

  6. March 15, 2010 at 5:57 pm

    Setuju, jangan terlalu awal. Bisa diturunkan dari hasil refactoring atau refinement model design…

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: