Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Object Oriented Programming Athanasia & Daniel (Class, Inheritance, Encapsulation dan Interface)

Presentasi serupa


Presentasi berjudul: "Object Oriented Programming Athanasia & Daniel (Class, Inheritance, Encapsulation dan Interface)"— Transcript presentasi:

1 Object Oriented Programming Athanasia & Daniel (Class, Inheritance, Encapsulation dan Interface)

2  sebuah benda (entity) yang memiliki batasan (boundary) dan identitas (identity) yang terdefinisi dengan jelas, yang membungkus (encapsulate) kondisi (state) dan perilaku (behavior).

3  Sebuah object adalah sebuah benda yang memiliki batasan yang terdefinisi dengan jelas. Maksudnya, tujuan dari object tersebut harus jelas.  Sebuah object memiliki dua hal: kondisi (state) dan perilaku (behavior).  Kondisi (state) dari suatu object sering dinyatakan melalui attribute dari object tersebut. Sedangkan perilaku (behavior) dinyatakan melalui operations dari object tersebut.

4  State dapat dipahami sebagai suatu karakteristik yang menjelaskan keadaan atau kondisi suatu object. State dinyatakan dalam bentuk attribute atau property yang memiliki nilai atau isinya sendiri-sendiri.

5  Mobil memiliki warna, misalnya berwarna pink.  Mobil memiliki kapasitas mesin, misalnya 1800 cc.  Monitor komputer memiliki merek tertentu, misalnya saja samsung.  Seorang mahasiswa memiliki NIM, nama, alamat. Semuanya merupakan attribute dari setiap mahasiswa.  Sebuah file pada komputer memiliki ukuran tertentu, misalnya 37 MegaByte.

6  Behavior adalah perilaku, bagaimana sebuah object ber-aksi dan ber-reaksi. Sebuah object akan melakukan aksi atau reaksi terhadap request atau permintaan dari object lain. Misalnya, dapat dilakukan beberapa aksi pada sebuah object pintu, yaitu : dapat dibuka, dapat dikunci, dll. Behavior dinyatakan dalam bentuk method pemrograman object-oriented.

7  Sebagai contoh :  Mobil dapat dijalankan ke depan maupun ke belakang.  Mesin mobil dapat diperbaiki jika rusak.  Monitor komputer dapat dihidupkan atau dimatikan dengan menekan tombol power pada monitor.  Seorang mahasiswa dapat mengambil suatu mata kuliah terntentu.  Sebuah file pada komputer dapat diganti namanya, dipindahkan atau dihapus.

8  sekumpulan object yang memiliki attribute, operasi dan hubungan antar object yang sama. Sebuah object dinyatakan sebagai sebuah instance dari sebuah class.

9  Contoh : mobil (class)  attribute atau property → memiliki roda, memiliki mesin, memiliki pintu, memiliki tempat duduk dll.  behavior → dapat dijalankan ke depan dan ke belakang, mesin mobil dapat dihidupkan atau dimatikan, lampu mobil dapat diganti, pintu mobil dapat ditutup dan dikunci, mesin dapat diperbaiki atau diganti spare part-nya jika rusak dll.  Bentuk nyata atau instance → mobil kijang, mobil honda jazz, dll.  Object → trailer atau tronton

10  kondisi pada suatu object yang membentuk state dari object tersebut.  Attribute memiliki nama dan nilai yang spesifik. Setiap attribute juga memiliki type tertentu sehingga nilai di dalam attribute ini harus sesuai dengan type yang dimiliki. Type dalam C# dapat berupa int, string, bool dll. Sebuah class dapat memiliki attribute maupun tidak.

11  Operation adalah implementasi dari sebuah service yang dapat diminta oleh object-object lain dari class untuk mempengaruhi bahavior-nya

12  [attributes] [class modifier] [class base]  Class → keyword  Identifier → nama dari class yang akan dibuat  Class-body → tempat didefinisikannya attribute dan operation dari object yang dibangun berdasarkan class ini.

13

14  digunakan untuk menunjukkan bahwa suatu class belum selesai, masih abstrak belum kongkrit.  Class ini biasanya digunakan sebagai base class. Abstract class tidak bisa di-create menjadi object, tetapi bisa me-refer objek kongkrit yang class-nya diturunkan dari dirinya. Abstract class boleh memiliki abstract member.

15 abstract class abstract member Class B turunan class A Terdapat method G() Class C turunan class B Terdapat implementasi F

16  class yang memakai modifier sealed.  Class yang di-sealed tidak bisa diturunkan atau tidak bisa menjadi base class dari class yang lain.  Class D tidak bisa di-compile karena C adalah sealed class.

17  Class member dibagi menjadi beberapa kategori: ◦ Konstanta ◦ Field ◦ Method ◦ Properties ◦ Event ◦ Indexer ◦ Operator ◦ Constructor ◦ Destructor

18  Konstanta adalah anggota Class yang bernilai tetap. [attribute] [modifiers]  Modifiers: new, public, protected, internal, private. ◦ public : semua objek boleh akses tanpa batas. ◦ private: hanya berlaku dalam Class. ◦ protected: hanya boleh diakses Class sendiri dan turunannya. ◦ internal: hanya boleh diakses Class-Class dalam satu assembly.  Declarasi:  Identifier = expresi  Identifier = expresi, Identifier =expresi

19

20  Adalah method dengan nama yang sama tapi dengan parameter yang berbeda-beda.

21  kemampuan sebuah object untuk meng-inherit atau mewarisi data dan functionality dari parent class-nya.  Parent class → base class  Child class → derived class

22

23  Derived class akan meng-inherit segala hal yang dimiliki oleh base class kecuali constructor dan destructor. Seluruhpublic member dari base class secara implicit juga menjadi public member dari derived class. Sedangkan private member dari base class, meskipun juga di-inherit oleh derived class, hanya dapat diakses oleh base class itu sendiri.

24 Virtual Method Untuk dapat membuat sebuah method dari suatu base class bisa di-override oleh derived class-nya, method tersebut harus diberi keyword virtual.

25  Sebuah virtual method harus ada implementasinya di base class. Jika tidak ada implementasi, maka program akan error.  Sebuah virtual method tidak dapat diberi access modifier private. Jika method adalah private, hanya class pemilik method itu sendiri yang dapat mengaksesnya.  Sebuah virtual method juga tidak dapat dideklarasikan sebagai static. Polymorphism hanya berlaku pada object, bukan level class. Sementara static member adalah member dari class. Bukan object.

26  method yang akan meng-override method base class tadi harus diberi keyword override.

27  Seperti halnya pada virtual method, pada override method harus juga terdapat implementasi code. Jika tidak, maka program akan error.  Signature dari override method harus sama dengan virtual method yang akan di override.  Seperti pada virtual method, override method juga tidak boleh static, dan tidak boleh private.

28  Keyword new pada method derived class diatas berfungsi untuk menyembunyikan method yang di-derived dari base class. Method yang di- derived dari base class diganti oleh method yang memiliki keyword new. Keyword new dapat menyembunyikan method virtual maupun non-virtual dari base class.

29  Encapsulation sering juga dinyatakan sebagai penyembunyian informasi.  Contoh: perhitungan suhu termometer.

30  Kemampuan suatu object untuk melakukan perintah.  Contoh: mesin cuci ◦ kontrak antar produsen mesin cuci, bahwa mesin cuci mesti mempunyai fungsi minimal untuk mencuci.  Kontrak semacam ini dalam C# disebut sebagai Interface. Interface adalah komponen utama dan penting dalam dunia OOP.

31


Download ppt "Object Oriented Programming Athanasia & Daniel (Class, Inheritance, Encapsulation dan Interface)"

Presentasi serupa


Iklan oleh Google