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...

Object Oriented Programming (OOP) Pada Delphi - Bag 1

Object Pascal, adalah sebuah bahasa dimana delphi menjadi salah satu IDE (Integrated Development Environment) nya, adalah sebuah bahasa yang mendukung penuh konsep OOP. Sederhananya, bahasa ini memungkinkan bagi programmer untuk membuat dan memanipulasi object. Lebih detailnya, bahasa ini mendukung empat prinsip pokok OOP yaitu : Data Abstraction, Encapsulation, Inheritance, Polymorphism. Mempelajari OOP berbeda dengan mempelajari Delphi. Apalagi bagi seorang yang sudah mengenal bahasa Pascal. Bisa jadi ada orang yang sangat mahir delphi/pascal namun sangat lemah pada konsep OOP. Apa itu OOP? Apa Itu Object? Apa Itu Kelas? OOP adalah semua hal yang berkaitan dengan writing programs that manipulate objects : ). Delphi, Java, C++ adalah beberapa contoh bahasa yang mendukung OOP. Ketiga bahasa di atas mempunyai prinsip-prinsip OOP yang sama, tentunya dengan sintaks (penulisan baris kode program) yang berbeda. Sekali kita sudah menguasai konsep OOP, maka akan begitu mudah mempelaja...

Menambahkan Function Pada Fast Report

Fast report merupakan salah satu reporting tool yang banyak dipakai oleh para developer delphi. Fast Reprt menyediakan built-in function yang sangat memudahkan kita dalam membuat sebuah laporan. Namun adakalanya kita membutuhkan function/procedure yang tidak ada pada built-in function bawaan fast report. Oleh karena itu kita harus menambahkan sendiri. Untuk menambahkan function pada fast report kita perlu membuat kelas yang diturunkan dari TfsRTTIModule. Lebih jelasnya lihat baris kode berikut ini : unit uTSFastReportFunction; interface uses SysUtils, Classes, fs_iinterpreter, Forms; type TTSFastReportFunction = class(TfsRTTIModule) private function CallMethod(Instance: TObject; ClassType: TClass; const MethodName: String; var Params: Variant): Variant; public constructor Create(AScript: TfsScript); override; function Quot(AString : String): String; end; const _Kategori : string = 'My Functions'...