Langsung ke konten utama

Kumpulan Artikel OOP Dengan Delphi

Temans, penguasaan OOP pada masa ini adalah suatu keharusan. Sudah banyak artikel yang membahas apa keuntungan meggunakan OOP. Sebagai upaya untuk menyediakan sarana belajar OOP, khususnya untuk Delphi, berikut ini saya kumpulkan beberapa link yang merujuk pada artikel OOP di delphi.about.com.


Artikel-artikel di bawah ini dikelompokkan menjadi beberapa bagian , yaitu :

1. Introduction to OO basics
Bagian 1
- Object orientation basics
- Delphi Unit structure and project structure
- Delphi’s RAD generation: visual objects and events

Bagian 2
- Delphi’s RAD generation: visual objects and events
- Event handlers
- Creating an object (RAD and coding)

Bagian 3
- Interaction between objects: simple message passing, association and composition
- The UML: class, object and sequence diagrams
- Inheritance, association and composition relationships
- Homework

2. Introduction to class inheritance
Bagian 4
- Class inheritance.
- Subclassing for reuse: extension, specialisation, generalisation.
- Overriding inherited methods.
- Encapsulation.
- Visual Form Inheritance (VFI).

Bagian 5
- Delphi’s VCL class hierarchy.
- Navigation (linkage) between objects.
- Navigation on a UML class diagram.
- Visibility for message passing.

3. Programmer defined classes and objects
Bagian 6
- Keeping user interface and application objects separate: separation of concerns,
- Mimicking RAD user interface objects in programmer defined application classes,
- Steps in using a programmer defined object:
1 define the class,
2 allocate a name (reference),
3 instantiate the object,
4 assign it to the name.

Bagian 7
- Inheritance: deriving a new class from an existing one.
- Packaging a class in a unit.
- Overloaded methods & protected visibility.
- The Code Explorer and Project Browser.
- Layout of objects in memory.

4. Accessing an object and its data
Bagian 8
- The object name as a reference
- Creating and freeing an object: Constructors and destructors
- The need for memory management: memory leakage and dangling references

Bagian 9
- Data access methods: Get… and Set…
- Properties for data access: Mapped and direct, read and write specifications.
- The concept of ‘Patterns’ in object orientation
- The Immutable Pattern

Bagian 10
- The concept of ‘Patterns’ in object orientation
- The Immutable Pattern
- Creating a list of object references
- Homework Problems
- Part download: PDF, Code, Homework Solutions

5. The Sender parameter and substitution
Bagian 11
- Substitution
- The Sender parameter
- Typecasting
- Class and instance operators
- RTTI: run time type information

6. Introducing type inheritance
Bagian 12
- Substitution with programmer classes
- Early (static, compile time) binding
- Late (dynamic, run time) binding
- Virtual and override methods

Bagian 13
- Polymorphism = substitution + dynamic binding

Bagian 14
- Abstract methods
- The concept of a type
- The Polymorphism Pattern
- Part 6 Source Download

7. Using and abusing inheritance
Bagian 15
- Clarify differences between subclassing and subtyping.
- Use each appropriately.

Bagian 16
- Inheritance anti-patterns

8. Indirection
Bagian 17
- Indirection through chaining and through delegation.
- Comparing chaining and delegation in terms of encapsulation and coupling.

Bagian 18
- Chaining and delegation in RAD classes.
- Patterns for the Law of Demeter and for Delegation.

9. Association & Composition
Bagian 19
- Reviewing the different conditions for inheritance, for association and for composition.
- Implementing association and composition.

Bagian 20
- Association, composition and immutability

Bagian 21
- Example 9.3 Deep copies and the Assign method

10. Two Patterns Using Composition
Bagian 22
- Delegation: Association and Composition

Bagian 23
- The Adapter pattern for polymorphism

11. Some Patterns for varying behaviour
Bagian 24

12. Bidirectional links, Callbacks and Linking Classes
Bagian 25

13. Factory Patterns
Bagian 26

14. A Decorator
Bagian 27


Komentar

Postingan populer dari blog ini

Cara Efektif Menggunakan StringGrid

StringGrid merupakan salah satu VCL yang sangat berguna. Jika anda sudah familiar dengan Webbased Application, anda bisa analogikan StringGrid dengan Table. Table digunakan untuk meenampilkan data. Adapun StringGrid, selain sebagai komponen untuk menampilkan data, dia juga juga bisa sebagai tempat untuk memasukkan data, lihat gambar di bawah ini : Pada gambar di atas, saya menampilkan form jurnal umum sebagai contoh penggunaan StringGrid. Pada contoh di atas, stringgrid dipakai untuk memasukkan data item jurnal berupa Kode dan nama perkiraan, status Debet/Kredit dan Nominal. Untuk memanfaatkan Stringgrid saya mempunyai beberapa konstanta yang mencerminkan nomor urut kolom, misalnya _KolKode merujuk pada kolom Kode Perkiraan, _KolNama merujuk pada kolom Nama. Lebih jelasnya lihat baris kode berikut : Const _KolKode : Integer = 0; _KolNama : Integer = 1; _KolDK : Integer = 2; _KolNominal : Integer = 3; Konstanta-konstanta tersebut saya pakai di beberapa tempat. Diantaran...

Tanda-tanda programmer buruk

Dalam dunia pekerjaan, ada berbagai cara untuk menjadi tidak efektif. Berikut adalah beberapa perilaku yang sering terjadi pada beberapa programmer yang pernah saya kerjakan selama bertahun-tahun: "Saya Seorang Insinyur Perangkat Lunak, Bukan Programmer"  Anda tahu seperti apa mereka. Mereka membawa keyboard mekanis ke kantor? Mereka tidak bisa ikut dalam pertemuan harian karena terlalu sibuk memikirkan masalah tersebut (hanya butuh 5 menit untuk menyampaikan apa yang Anda pikirkan). Berapa lama waktu yang dibutuhkan untuk mendapatkan latte? Saya tidak begitu yakin bagaimana seseorang bisa menjadi begitu sombong dengan pengalaman 3 tahun, tapi begitulah adanya. Saya suka mengesankan orang dengan gelar pekerjaan saya. Siapa? Apa maksud Anda, tidak ada yang peduli. Mungkin sebaiknya Anda menghabiskan lebih banyak waktu untuk bekerja dan sedikit waktu untuk memikirkan status Anda? Papan Tulis di Belakang  Beberapa orang di industri ini memiliki gelar. Saya pernah bekerja deng...

Singleton Pattern

Motivasi Kadang ada keadaan di mana kita hanya boleh memiliki satu instan dari suatu kelas. Sebagai contoh, kita hanya boleh memiliki satu window manager (atau satu sistem file atau satu spooler printer) pada satu aplikasi. Biasanya singleton digunakan untuk managemen sumber daya internal maupun eksternal secara terpusat dan bisa diakses dimanapun. Singleton merupkan salah satu design pattern yang paling sederhana. Singleton hanya melibatkan satu kelas yang bertanggung jawab untuk menginstansiasi dirinya sendiri dan pada saat yang bersamaan menyediakan akses secara global terhadap instan tersebut. Pada pattern singleton, instan bisa diakses dari manapun tanpa harus memanggil contructor dari kelas instan tersebut Tujuan • Memastikan bahwa satu kelas hanya bisa dibuat instannya sekali. • Menyediakan akses secara global terhadap instan singleton tersebut. Implementasi Pada bahasa pemrograman Java, implementasi dari singleton adalah dengan membuat sebuah atribut static pada...