Hal yang paling mendasar dalam lingkungan pemograman visual adalah objek. Objek adalah bundel data yang terdiri dari elemen-elemen data yang diperlukan seperti field, properti, prosedur dan fungsi. Untuk menulis komponen diperlukan pemahaman yang cukup baik terhadap objek tersebut dan juga istilah-istilah yang digunakan dalam lingkungan OOP, termasuk dasar pemograman.
1. Objek dan kelas (Object and Class)
Istilah Object mengacu keistilah yang sudah digunakan oleh Turbo Pascal dan istilah class lebih ditunjukan untuk mendukung pemodelan objek 32 bit pada Delphi .
Jadi deklarasi objek model lama (16 bit) menggunakan kata tercadang object dan deklarasi objek model baru (32 bit) menggunakan kata tercadang class. Object lebih ditunjukkan untuk kompatibilitas ke belakang, yaitu tetap mendukung objek-objek yang telah dibuat sebelumnya dengan Turbo Pascal. Jika tidak ada alasan kompatibilitas, gunakanlah kata tercadang classdalam pembentukan objek.
Versi lain yang lebih teknis mengatakan bahwa kelas adalah bundel sturktur data yang telah disempurnakan sehingga mempunyai kemampuan kerja yang lebih baik. Beberapa elemen seperti properti, field, metoda (prosedur atau fungsi) ditambahkan dalam struktur objeknya.
Alasan lain penggunaan istilah kelas adalah Borland ingin melakukan migrasi yang bersih dari lingkungan 16 bit ke lingkungan 32 bit. Pada model objek baru yaitu kelas, tidak perlu lagi deklarasi pointer to object karena semua kelas adalah jenis pointer to object itu sendiri.
Secara umum, dapat dikatakan bahwa objek dan kelas mengacu pada hal yang sama, hanya beda penyajiannya. Objek adalah representasi atau perwujutan dari suatu kelas. Kelas atau objek mempunyai karakteristik dan sifat-sifat tertentu, merupakan bagian dari pengelompokan dan penjenjangan seluruh objek dalam suatu hirarki yang membentuk hubungan antara moyang dan keturunannya.
Dalam lingkungan pemograman visual, objek atau kelas ini juga sering dasebut komponen (Component). Dilihat dari sisi pengembangan aplikasi, dengan mengetahui bahwa moyang semua komponen visual adalah TComponent maka objek akan lebih tepat disebut komponen. Sedangkan jika dilihat dari istilah formalnya dan juga strukturisasi objeknya seperti sifat, fungsi dan penjenjangannya, mungkin objek akan lebih tepat dusebut kelas.
Kelas adalah struktur data yang didefinisikan dan objek adalah representasi kelas yang berhubungan dengan pemanfaatan / manipulasi datanya. Sedangkan komponen adalah wujud nyata dari suatu objek.
2 Warisan dan Pewarisan (Inherited and Inheritance)
Inherited (pewarisan ) adalah hal-hal yang berhubungan dengan pembentukan objek baru dengan tetap mempertahankan properti dan lingkungan objek asalnya. Atau dengan kata lain, objek baru tersebut selalu mewarisi sifat-sifat moyangnya.
3 Enkapsulasi (Encapsulation)
Enkapsulasi adalah menggabungkan (mengkombinasikan) data dan fungsionalitas dalam satu kesatuan (unit), dengan cara menyembunyikan implementasinya. Manfaat utama konsep ini adalah modularitas dan isolasi suatu kode / rutin dari kode lainnya.
4 Moyang – Keturunan (Ancestor – Descendant)
Ancestor dan Descendant berkaitan erat dengan pewarisan. Ancestor adalah moyang atau asal dari suatu komponen. Descendant adalah keturunan suatu komponen atau komponen yang dibentuk / diturunkan dari komponen lain. Keduanya erat kaitanya dalam pembentukan objek atau kelas baru.
Semua kelas yang mewariskan sifat-sifatnya pada komponen disebut moyang. Kelas untuk menurunkan sebuah komponen disebut moyang langsung. Setiap komponen mewarisi sifat dari moyang langsungnya dan juga sifat dari moyang-moyang sebelumnya secara berurutan. Komponen adalah descendant moyang dan moyang adalah ancestor komponen.
Bersama- sama, semua hubungan moyang-keturunan dalam sebuah komponen membentuk tingkatan kelas-kelas.
Setiap generasi dalam suatu hirarki mempunyai isi yang lebih banyak dari moyangnya, karena setiap kelas di samping mewarisi semua yang berasal dari moyangnya masih ditambah elemen barunya sendiri (seperti properti, metoda dan lain-lainnya)
Dengan memilih moyang yang tepat, komponen akan mewarisi properti dan metoda yang diperlukan saja sehingga komponen tersebut akan menjadi sangat handal dan memungkinkan untuk dikembangkan lebih lanjut oleh pihak lain.
Cara memilih moyang sangat sederhana. Pilihlah kelas yang berisi paling banyak elemen-elemen yang diperlukan dalam komponen baru tetapi tidak mempunyai apa-apa yang tidak diinginkan oleh komponen baru tersebut. Menambahkan sesuatu seperti property atau metoda ke komponen selalu bisa dilakukan tetapi sebaliknya tidak mungkin membuang sesuatu yang telah ada.
5 Properti (Property)
Properti adalah parameter yang bisa diubah-ubah pada tahap perancangan maupun saat aplikasi dijalankan.properti menjadi bagian yang paling menarik dari suatu komponen. Efek dari perubahan nilainya dapat dilihat langsung dari reaksi komponen terhadap perubahan tersebut.
Ditinjau dari sisi pengguna, properti tidak berbeda dengan variabel. Nilai properti ini juga dapat diganti-ganti dan dibaca oleh bagian lain dari suatu program. beda utama dengan variabel adalah properti tidak bisa diberikan / dilewatkan sebagai tipe variabel.
Properti dapat digunakan untuk menyembunyikan detil suatu program. Dengan properti, seolah-olah hanya memilih/ menetapkan suatu nilai parameter dan melihat perubahan komponen terhadap perubahan nilai tersebut, padahal perubahan nilai ini bisa saja melibatkan prosedur yang kompleks.
Sebuah properti dideklarasikan bersamaan dengan deklarasi kelas komponennya. Ada 3 hal yang perlu ditetapkan dalam pendeklarasian suatu properti, yaitu :
1. Nama properti. Pilih nama yang dapat mewakili kegunaan properti tersebut. Hindarkan penggunaan nama yang sama dengan nama property moyangnya.
2. Tipe properti. Memilih visibilitas atau tingkat proteksi.
3. Metoda yang digunakan untuk menulis (write) dan membaca (read) nilai propertinya. Jika metoda penulisan tidak dideklarasikan maka propertinya menjadi read-only.
Nilai properti yang berupa string biasanya diawali dengan dua huruf kecil yang merupakan singkatan dari nama propertinya dan diikuti string nama konstanta tersebut.
Metoda baca (read) adalah sebuah fungsi tanpa parameter dan menghasilkan nilai yang sama tipenya dengan properti. Metoda tulis (write) adalah prosedur dengan parameter tunggal yang bertipe sama dengan propertinya. Parameter dapat diberikan sebagai variabel atau langsung nilainya.
6. Event
Event adalah mekanisme penghubung antara suatu kejadian pada komponen dengan prosedur yang merespons kejadian tersebut. Prosedur yang merespons tersebut disebut handler. Isi handler biasanya disediakan oleh pengembang aplikasi.
Event untuk tindakan/ perintah yang umum sudah disediakan dalam semua komponen standar. Walaupun demikian, masih diperbolehkan untuk menambah event baru. Event memungkinkan untuk mengubah cara kerja komponen tanpa mengubah kelasnya.