Ide pemrograman berorientasi objek Delphi
Liu Yizhu
Kata pengantar
Pertama kali saya mengenal Delphi bukan karena software Delphi milik Borland, tetapi karena saya membaca kata tersebut dalam karya klasik Plato "Plato's Dialogues".
Seorang teman saya
Delphi adalah tempat tinggal oracle, dewa ramalan. "Dialog Plato" mencatat bahwa seorang teman Socrates pergi ke Delphi untuk bertanya kepada Pythian, dewi ramalan, siapa orang paling bijaksana. Orang Pythian mengatakan bahwa tidak ada seorang pun yang lebih bijaksana daripada Socrates. Socrates sangat bingung karena dia mendapati dirinya dikelilingi oleh para politisi, penyair, filsuf, dan seniman. Bukankah para “ahli” dan “otoritas” ini lebih bijaksana? Saya jauh lebih buruk dari mereka.
Socrates mengunjungi para "ahli" dan "otoritas" ini satu per satu, tetapi mendapati bahwa mereka sering kali merasa benar sendiri, menipu diri sendiri dan berpura-pura mengetahui hal-hal yang tidak mereka pahami. Melalui kunjungan tersebut, Socrates juga menemukan bahwa ia hanya mengetahui sedikit sekali dalam banyak aspek. Namun Socrates tidak berpura-pura mengerti, ia mengakui ketidaktahuannya. Inilah yang disebut oleh Pythian, dewi ramalan, sebagai "kebijaksanaan" yang sebenarnya.
Sebenarnya kebijaksanaan semacam ini bukan pertama kali dikemukakan oleh orang Yunani kuno. Jauh sebelum Socrates, Lao Tzu di negara kita sudah menyimpulkannya. Dalam Tao Te Ching dikatakan bahwa "siapa yang mengenal orang lain adalah bijaksana, dan siapa yang mengenal dirinya sendiri adalah bijaksana."
Sekarang Delphi yang kami gunakan sudah menjadi bahasa pemrograman dan alat pengembangan perangkat lunak yang sangat baik. Namun, menghadapi Delphi yang mendalam dan terus berkembang, kita masih sedikit mengetahui banyak aspek. Namun ketika mempelajari dan menggunakan Delphi, apakah kita juga memiliki sikap pengetahuan diri Socrates dan kebijaksanaan mengetahui segalanya?
Banyak sekali teman-teman yang memilih Delphi. Pemikiran awal mungkin karena Delphi kuat, mudah dipelajari dan digunakan. Mereka bahkan mengaku mahir Delphi dalam tiga bulan, dan berani mengembangkan software secara mandiri dalam waktu setengah tahun. Faktanya, yang bisa mereka lakukan hanyalah drag and drop kontrol. Ketika mereka mabuk oleh program mereka sendiri, mereka sebenarnya mabuk oleh kebijaksanaan Delphi yang indah dan kendali orang lain. Pemrogram Delphi semacam ini sering dijuluki "penunda" oleh orang lain. Namun mereka tampaknya menganggap diri mereka sebagai master Delphi.
Banyak juga teman-teman yang sudah menyerah dengan Delphi. Pemikiran awal mungkin karena menganggap Delphi hanyalah sebuah tool RAD yang mirip dengan VB. Dalam pandangan mereka, Delphi hanya mengontrol pemrograman dan tidak bisa benar-benar mengimplementasikan OOP seperti C++ atau Java. Mereka meragukan apakah Delphi memiliki karakteristik bahasa pemrograman berorientasi objek dan apakah Delphi dapat mengimplementasikan teknologi berorientasi objek seperti polimorfisme dan pola. Di mata mereka, hanya mereka yang menggunakan C++ atau Java yang benar-benar ahli.
Jadi, apa itu master sejati, dan bagaimana seseorang bisa menjadi master sejati?
Mari kita lihat dulu apa itu jagoan silat, mungkin kita bisa mendapatkan inspirasi darinya.
Siapa pun yang menyukai seni bela diri atau novel seni bela diri tahu bahwa ada dua cara untuk berlatih seni bela diri: pelatihan eksternal dan pelatihan internal. Pelatihan tinju, tendangan dan senjata secara eksternal, kualitas tinju dan tendangan serta senjata adalah kuncinya; pelatihan internal Qi, pelatihan pemurnian Qi, pelatihan semangat dan pengembalian kelemahan adalah fondasinya. Perbedaan terbesar antara kedua metode budidaya ini terletak pada hubungan fungsional antara waktu dan keterampilan, seperti yang ditunjukkan pada Gambar 1. Dalam istilah awam, dalam tiga tahun pertama, mereka yang mempraktikkan keterampilan eksternal dapat dengan mudah mengalahkan mereka yang mempraktikkan keterampilan internal di tahun ke-10, kedua belah pihak hanya dapat menyamakan kedudukan setelah 15 tahun, tidak peduli bagaimana Anda mempraktikkan keterampilan eksternal, Anda tidak akan mampu bersaing dengan mereka yang melatih keterampilan internal. 20 tahun kemudian, ahli keterampilan internal tidak terkalahkan di dunia. Alasannya terletak pada hubungan dialektis antara “Qi” dan “Qi”.
"Senjata" adalah benda berwujud, dan pedang, senapan, pedang, dan tombak semuanya adalah senjata berwujud. Berlatih pencak silat di luar tidak terlepas dari senjata berwujud tersebut. Berlatih pencak silat adalah melatih senjata. Oleh karena itu, para ahli bela diri yang menggunakan senjata dan pedang seringkali mengandalkan kualitas senjatanya.
"Qi" adalah substansi yang tidak terlihat, dan semua kebijaksanaan, kekuatan gaib, dan pikiran semuanya adalah substansi yang tidak terlihat. Budidaya Qigong internal tidak dapat dipisahkan dari kualitas-kualitas tak berwujud ini. Berlatih Qigong adalah pelatihan Qi. Oleh karena itu, para ahli bela diri sejati seringkali tidak perlu bergantung pada senjata tertentu, bagi mereka, benda berwujud apapun dapat diubah menjadi senjata sesuai dengan rohnya. Kipas lipat atau kocokan lalat di tangannya sama kuatnya dengan tombak atau pedang terkenal, karena memperoleh Qi.
Gambar 1 Diagram fungsi waktu dan keterampilan dari dua metode budidaya
Dalam pengembangan perangkat lunak, alat pemrograman adalah “instrumen” dan ide pemrograman adalah “qi”.
Di antara alat pemrograman, alat yang mudah digunakan seperti VB dan PB; alat yang sulit digunakan seperti perakitan dan C++; alat kuno seperti FORTRAN dan COBOL; dan alat yang modis seperti Java dan C#.
Dalam pemikiran pemrograman, ada yang berorientasi objek dan berorientasi proses, yang keduanya merupakan pandangan dunia dan metodologi. Yang pertama mencerminkan cara orang berpikir tentang objek obyektif, dan yang kedua mencerminkan cara mesin berpikir tentang instruksi. Dalam praktik pengembangan perangkat lunak yang berkelanjutan, keunggulan perangkat lunak terus menerus tercermin dan dikonfirmasi.
Menguasai ide pemrograman berorientasi objek seperti memahami arti sebenarnya dari pelatihan Qi. Pentingnya hal ini sering kali mengalahkan pilihan bahasa pemrograman!
Sekalipun seseorang memilih alat berorientasi objek, mereka tetap tidak bisa menjadi ahli sejati. Karena yang dia hargai adalah kualitas “qi” dan mengabaikan budidaya “qi”.
Faktanya, "Tidak masalah apakah suatu sistem atau bahasa berorientasi objek. Yang penting adalah bagaimana sistem atau bahasa tersebut dapat berorientasi objek dan metode apa yang digunakan untuk mencapai manfaat terkait." ("Metode Berorientasi Objek: Prinsip dan Praktek" Machinery Industry Press, Maret 2003)
Meskipun melatih senjata itu mudah, sulit untuk menjadi seorang master. Meskipun pelatihan Qi bagus, hasilnya lambat dan rasa kesepiannya tidak tertahankan. Tidak mungkin bagi orang biasa untuk memahami pikiran seseorang dengan jelas dan mengambil jalan yang benar. Oleh karena itu, banyak ahli bela diri yang berlatih senjata terlebih dahulu, baru kemudian Qi. Mereka berlatih baik secara internal maupun eksternal untuk mencapai kesuksesan.
Bagi pendatang baru di dunia seni bela diri, mereka perlu menggunakan kekuatan senjata untuk menutupi kekurangan kekuatan internal mereka. Kualitas senjata seringkali sangat penting. Namun seiring dengan meningkatnya seni bela diri dan berkembangnya kekuatan internal, ketergantungan pada senjata akan berkurang. "Legenda Pahlawan Condor" Yang Guo berlatih ilmu pedang. Saat pertama kali belajar, dia suka menggunakan pedang tajam. Setelah dia mahir dalam ilmu pedang, dia suka menggunakan pedang tumpul digunakan sebagai pedang. Jadi bagi ahli sejati, kualitas pedang seringkali tidak menjadi masalah.
Demikian pula, pertumbuhan master perangkat lunak juga melalui proses ini. Pemula pemrograman perlu memilih bahasa yang baik, yang dapat mencapai hasil dua kali lipat dengan setengah usaha, sekaligus merangsang minat dan meningkatkan kepercayaan diri. Setelah Anda terbiasa dengan suatu bahasa, Anda harus menggunakannya sebagai kesempatan untuk menguasai ide-ide pemrograman berorientasi objek. Saat ini, yang Anda kenal bukan lagi tata bahasa, fungsi, dan pustaka kelas dari bahasa itu sendiri, tetapi metode berpikir seperti pengikatan, polimorfisme, pola, dll, dan kemudian dengan analogi, tidak sulit untuk mempelajarinya. bahasa berorientasi objek lainnya. Ahli perangkat lunak sejati yang bekerja keras pada keterampilan internalnya, memiliki keberanian untuk berlatih, dan pada akhirnya berhasil tidak dibatasi oleh bahasa pemrograman. Mereka mungkin familiar dengan alat pengembangan, tapi itu hanyalah alat yang membawa semangat tak kasat mata mereka. Mereka berpikiran terbuka, bersemangat untuk belajar, dan pandai merangkum. Ide, metode, model, dan bahkan filosofi mereka tidak hanya melampaui bahasa pemrograman, namun juga dapat memandu praktik bahasa pemrograman.
Delphi menyediakan jalan pintas bagi pertumbuhan master perangkat lunak baik secara internal maupun eksternal. Saat mempelajari dan berlatih Delphi, Anda dapat menggunakan keunggulan RAD dan kontrolnya untuk mengalahkan lawan Anda dengan cepat saat Anda baru memulai; saat Anda mempelajari dan berlatih Delphi, Anda juga dapat menggunakan kemampuan OOP, kekuatan VCL, dan kekuatannya bacon untuk mencapai kesuksesan yang tak terkalahkan.
Sekte Pedang Huashan yang terkenal di dunia pernah dibagi menjadi "Sekte Pedang" dan "Sekte Qi". Yang pertama hanya berlatih senjata dan mengajarkan gerakan; yang terakhir juga berlatih Qi dan membangun kembali fondasinya.
Mempelajari Delphi seperti berlatih Ilmu Pedang Huashan. Mengambil jalur RAD adalah "Master Pedang", dan memulai dari OOP adalah "Master Udara". Yang pertama suka menggunakan kontrol dan tertarik pada teknik dan trik yang aneh; yang kedua menyukai objek dan tertarik pada pola metode. Yang pertama mengejar hasil yang cepat, sedangkan yang kedua mempunyai cita-cita yang tinggi.
Saya rasa teman-teman yang memilih Delphi untuk RAD atau meninggalkan Delphi karena OOP kurang begitu memahami Delphi. Delphi adalah perangkat lunak pengembangan RAD yang bagus, tetapi sulit untuk menjadi master sejati tanpa mempelajari OOP dan mendalami VCL. Demikian pula, Delphi adalah alat pemrograman OOP otentik Dikombinasikan dengan RAD Delphi yang kuat dan kompiler yang efisien, Delphi dapat memiliki lebih banyak keuntungan dan efisiensi yang lebih tinggi dibandingkan bahasa OOP lainnya. Jika kita dapat melepaskan diri dari pendapat sektarian, melatih "qi" dan "qi" bersama-sama, dan melatih keterampilan internal dan eksternal, saya yakin tidak akan sulit bagi seorang programmer Delphi untuk berkembang dari RAD quickie menjadi master OOP, dan akhirnya bangga pada dunia dan mendominasi dunia.
Sebelumnya saya telah membahas secara singkat hubungan dialektis antara “qi” dan “qi”. Dalam pemrograman, salah satu kunci untuk menumbuhkan dan meningkatkan kekuatan internal adalah dengan menguasai ide pemrograman berorientasi objek. Faktanya, menurut saya ide pemrograman berorientasi objek adalah yang paling sejalan dengan keindahan kebenaran jalan yang tak kasat mata.
Mengapa Anda mengatakan itu? "Transformasi besar di zaman kuno lahir dengan yang tak terlihat" (reaksi kedua dalam "Guiguzi"). Misteri Qi pertama-tama terletak pada "transformasi besar" nya. Transformasi besar adalah penciptaan besar langit dan bumi, yang mengumpulkan seluruh kekuatan penciptaan dan perubahan. Pemikiran pemrograman berorientasi objek memiliki kualitas ini.
Laozi berkata, "Awal langit dan bumi yang tidak bernama, ibu dari segala sesuatu yang tidak bernama." Tanpa nama artinya tidak dapat dilukiskan dan tidak dapat dijelaskan. Hal yang paling misterius dari apa yang disebut cara berpikir berorientasi objek adalah bagaimana mengidentifikasi dan mendefinisikan objek dari "yang tidak disebutkan namanya" dan bagaimana membangun dan menggunakan objek dari "yang bernama".
Bagi pengembang perangkat lunak, proses memahami entitas objektif dan menganalisis serta merancang kebutuhan pengguna adalah proses menemukan dan mendefinisikan objek, dan ini adalah proses dari tanpa nama hingga terkenal. Namun, objek di sini berbeda dari variabel atau fungsi dalam proses yang berorientasi pada proses. Objek dibuat oleh kelas adalah konsep abstrak, "nama" yang dapat didefinisikan, dan merupakan induk dari objek.
Hasilnya, Tai Chi melahirkan Liang Yi, dan Liang Yi melahirkan Bagua. Melalui pewarisan dan penurunan kelas, segala sesuatu dilahirkan dan sistem terbentuk.
Bahkan “alat” sebagai alat pemrograman berorientasi objek juga mewujudkan dan mengusung “qi” ide pemrograman berorientasi objek.
Kalimat pertama dalam bab pembuka "Zhou Yi Shen Tong Qi", sebuah karya klasik pelatihan energi internal yang dikenal sebagai "Raja Sutra Alkimia Abadi", adalah "Qian dan Kun adalah gerbang Yi dan orang tua dari semua orang." heksagram Kan Li Kuang Guo, poros utama pusat pergerakan, perempuan Keempat heksagram Mu dianggap "Pu".
Dari perspektif pengembangan perangkat lunak, meskipun alat pemrograman berorientasi objek memberikan kemungkinan untuk membangun jenis sistem perangkat lunak yang tak terbatas, ketidakterbatasan ini didasarkan pada kerangka terbatas dari perpustakaan kelasnya sendiri. Baik itu VCL Delphi, perpustakaan kelas Java, atau kerangka .net, semuanya dibangun di atas struktur yang mirip dengan Zhouyi Bagua. “Sangat mudah untuk memiliki Tai Chi, Tai Chi menghasilkan dua bentuk, dua bentuk menghasilkan empat gambar, dan empat gambar menghasilkan Bagua. Struktur ini sempurna dan memiliki kreativitas tanpa batas.”
Taiji adalah TObject di Delphi, itu adalah atom dari sistem bangunan, itu adalah nenek moyang dari semua kelas, ia memiliki karakteristik dasar dari semua kelas. Dalam dunia pemrograman Delphi, kelas akar TObject menghasilkan kelas objek persisten TPersistent, dan kelas objek persisten TPersistent menghasilkan kelas objek komponen TComponent, yang menyediakan kontrol yang kaya dan fungsi yang kuat untuk mengembangkan aplikasi.
Namun, kerangka struktural perpustakaan kelas tidak hanya memberi kita komponen yang dapat digunakan sebagai "instrumen", tetapi yang lebih penting, struktur ini mewujudkan konstruksi dan perubahan "qi" melalui hubungan dan fungsi terkait antar kelas, yang mencerminkan objek- berorientasi Inti dari pemikiran pemrograman. Memberikan demonstrasi luar biasa bagi kami untuk membuat sistem kami sendiri.
Misteri kedua Qi terletak pada "asal usulnya yang tidak terlihat". Gaib berarti kebebasan, keterbukaan, dan kemampuan beradaptasi. Ide pemrograman berorientasi objek penuh dengan kebijaksanaan "qi" yang tidak terlihat.
Misalnya, polimorfisme dalam pemrograman berorientasi objek memungkinkan pemrogram untuk menulis program yang lebih fleksibel dan terbuka. Pemrogram dapat menulis metode abstrak virtual murni Stop() untuk objek Kendaraan. Metode Stop() universal tersebut tidak ada hubungannya dengan mobil yang dikemudikan. Pemrogram dapat membiarkan kelas turunan khawatir tentang penyelesaian metode stop() dan terus menulis prosedur umum mereka sendiri pada tingkat abstraksi yang lebih tinggi. Meskipun metode stop() pada objek Mobil benar-benar berbeda dengan metode stop() pada objek Sepeda, pemrogram juga dapat menggunakan Vehicle.stop() yang memungkinkan objek yang dibuat secara otomatis mengetahui metode mana yang akan dipanggil . Hal ini membuat program memiliki keterbukaan dan kemampuan beradaptasi "qi".
Dalam berlatih qigong, ditekankan bahwa "kebajikan tertinggi adalah kelambanan, dan tidak dicari melalui observasi. Kebajikan yang lebih rendah dipraktekkan, dan penggunaannya tidak ada habisnya."
Dalam pemikiran pemrograman berorientasi objek, "Shangde" adalah metode abstrak virtual murni yang mengikat akhir, antarmuka objek yang tetap tidak berubah dan beradaptasi dengan perubahan yang terus berubah, ini adalah abstraksi tingkat tinggi, dan merupakan metafisika . "Shangde Wuwei" berarti bahwa pada tingkat abstrak, sisi "virtual" dari pemrograman tercermin melalui kelambanan, karena pada saat ini, objek sebenarnya yang digunakan tidak dapat ditentukan (bisa berupa objek Mobil atau objek Sepeda, atau itu mungkin ditemukan nanti) Objek kendaraan baru), "tidak berdasarkan pengamatan" mengharuskan kita untuk keluar dari batasan kebutuhan spesifik dan tidak mempertimbangkan kode implementasi spesifik. Oleh karena itu, tidak ada implementasi kode dalam metode abstrak virtual murni atau antarmuka objek.
Dalam pemikiran pemrograman berorientasi objek, "Xiaode" mengacu pada cakupan metode abstrak virtual murni dan implementasi antarmuka objek. "Lakukan dengan moralitas" memberikan implementasi kode yang nyata. "Ini digunakan tanpa henti" untuk memenuhi kebutuhan yang terus berubah.
Polimorfisme memungkinkan pemrogram untuk mendapatkan objek dan mengimplementasikan program di kemudian hari tanpa banyak usaha. Tidak masalah jika programmer sedang membangun aplikasi untuk Mobil dan Sepeda dan tidak mengetahui keberadaan Truk. Pemrogram dapat menulis metode override stop() untuk kelas Mobil dan Sepeda yang mewarisi kelas Kendaraan. Dengan cara ini, dalam program, selama objek Mobil dan Sepeda yang dibuat diubah menjadi tipe Kendaraan, dan metode Stop() Kendaraan digunakan, objek Mobil dan Sepeda dapat terikat secara dinamis ke stop() metode yang memenuhi kebutuhan mereka sendiri. Bahkan jika objek Truck ditambahkan kemudian, metode Stop() pada Kendaraan tetap dipanggil, dan tidak diperlukan perubahan lebih lanjut pada program.
“Segala sesuatunya alami, dan segala sesuatunya menyatu dan terpisah. Ada yang dekat tetapi tidak dapat dilihat, dan ada pula yang jauh dan dapat diketahui. Yang dekat tetapi tidak dapat dilihat tidak dapat dipahami; yang jauh dapat dilihat. , tapi itu bisa dilihat di masa depan." ("Guiguzi") Tiba keempat)
Meskipun hal-hal obyektif itu rumit dan pengguna memerlukan perubahan, ada juga hukum tertentu yang melekat.
Mereka yang dekat tetapi tidak terlihat hanya melihat realisasi fungsi-fungsi tertentu di depan mereka dan tidak mengamati hukum perkembangan umum benda-benda, mereka hanya memiliki data terisolasi dan proses mekanis dalam pikiran mereka menjadi lengah dan merasa sulit menghadapinya. Pemrograman seperti itu bersifat statis, mekanis, dan sulit dipelihara serta diperluas.
Mereka yang dapat melihat dari kejauhan pandai menemukan pola, menggunakan kembali kode nilai, dan melihat objek organik serta hubungan yang harmonis Bahkan jika kebutuhan berubah, mereka dapat menghadapinya dengan tenang dan mudah. Pemrograman seperti itu bersifat dinamis, fleksibel, dapat dipelihara, dan diperluas.
Paul Kimmel berkata dalam "Panduan Pengembangan Aplikasi Delphi6" "Merupakan kesalahan menggunakan alat berorientasi objek dengan cara yang tidak berorientasi objek. Menggunakan Delphi untuk menulis program terstruktur dapat dengan cepat mencapai versi beta... Program Anda mungkin tidak akan pernah ada dapat lolos dari versi beta. Dapatkan jawaban yang salah dengan cepat dan tetap saja salah.”
Juga menggunakan Delphi, jika tidak ada ide pemrograman berorientasi objek, akan seperti "tidak memperhatikan apa yang dikatakan". Pada akhirnya, akan tetap "dekat tetapi tidak terlihat", sehingga sulit untuk mengembangkan sistem yang unggul. Hanya dengan berlatih keras, merangkum dengan cermat, dan menguasai ide-ide pemrograman berorientasi objek yang luas dan mendalam kita dapat mengontrol "qi" kita dengan bebas, "membalikkan apa yang telah kita pelajari, apa yang telah kita pelajari", dan akhirnya mencapai keadaan tersebut. dari "mengetahui apa yang jauh".
Sudah lebih dari 30 tahun sejak bahasa pertama yang benar-benar berorientasi objek, Smalltalk (1972), muncul. Namun, sebagian besar buku pemrograman berorientasi objek di toko buku adalah C++ dan Java. Tampaknya hanya ada dua bahasa berorientasi objek ini. Faktanya, ada 4 cabang dasar bahasa berorientasi objek yang sebenarnya dan hampir 20 jenis . Karena hanya ada sedikit buku tentang pemrograman berorientasi objek Delphi, banyak programmer harus meninggalkan Delphi untuk mempelajari OOP. Ini benar-benar tragedi besar Delphi. Ketika saya membaca "Thinking in Java" karya Bruce Eckel, saya menyesali mengapa tidak ada mahakarya Delphi yang seperti itu?
Faktanya, Delphi berasal dari keluarga terkenal. Ini dikembangkan oleh Borland Company berdasarkan Object Pascal. Sekarang, Perusahaan Borland menggunakan bahasa Delphi untuk menggantikan Object Pascal [1] dimulai dari Delphi7. Delphi sebenarnya tidak kalah dengan C++ dan Java dalam hal OOP. Pembaca dapat merujuk pada lampiran buku ini “Perbandingan Bahasa Pemrograman Berorientasi Objek: Java, C++ dan Delphi”.
Untuk tujuan ini, saya selalu berencana untuk menulis buku tentang pemrograman berorientasi objek Delphi untuk merangkum pembelajaran dan pengalaman praktis saya dalam pemrograman berorientasi objek Delphi. Namun, ini adalah tugas yang sangat sulit. Keseluruhan buku ini memakan waktu lama mulai dari konsep hingga penulisan, dan baru secara resmi selesai pada bulan Mei tahun ini. Kebetulan tahun ini juga merupakan peringatan 20 tahun berdirinya Borland, Sebagai pengguna produk Borland Delphi, penerbitan buku saya dapat dikatakan sebagai salah satu peringatannya.
Ini adalah buku yang murni membahas pemrograman berorientasi objek di Delphi. Orientasi objek bukanlah hiasan yang modis dari buku ini, tetapi inti dan keseluruhan dari buku ini.
Berangkat dari Bab 1 “Membangun Pemikiran Berorientasi Objek Baru”, buku ini mencoba memulai dengan sejarah dan situasi terkini pemrograman berorientasi objek, menguraikan asal usul, perkembangan dan konsep dasar ide pemrograman berorientasi objek, serta penerapannya. metode pemodelan berorientasi objek dan UML. Bab ini untuk membantu pembaca menetapkan konsep dasar berorientasi objek dan memahami metode berpikir berorientasi objek.
Bab 2 "Model Objek Delphi" memperkenalkan pengetahuan dasar pemrograman berorientasi objek Delphi dan sistem struktur model objeknya.
Bab 3 “Pengertian Objek” membahas tentang mekanisme internal, siklus hidup, dan interaksi objek secara mendalam dari tiga aspek: hakikat, kehidupan dan kematian, serta hubungan objek, sehingga memberikan landasan bagi pembaca untuk memahami dan menguasai objek.
Bab 4 "Menggunakan Objek" menjelaskan cara menggunakan objek secara efisien dalam pemrograman berorientasi objek Delphi. Di sini kami fokus pada metode dan teknik penggunaan objek antarmuka, objek komponen, kumpulan objek, dan parameter objek, serta melakukan pemikiran mendalam tentang masalah umum dalam penggunaan dan pengembangan komponen VCL.
Bab 5, "Polimorfisme Mendalam", memperkenalkan konsep polimorfisme dan penerapannya dalam pemrograman. Melalui sejumlah besar contoh, konsep-konsep penting dan metode berpikir seperti kelebihan beban dan penimpaan, metode virtual dan metode dinamis, kelas abstrak dan metode abstrak, serta konversi tipe kelas dijelaskan.
Bab 6 "Menganalisis Antarmuka" secara komprehensif memperkenalkan pengetahuan pemrograman dan keterampilan penerapan antarmuka objek. Ini menjelaskan peran penting antarmuka dalam mewujudkan pengikatan dinamis dan pewarisan berganda, dan menunjukkan penggunaan sebenarnya antarmuka dalam pemrograman berorientasi objek.
Bab 7 "Penelitian Enkapsulasi" menjelaskan pentingnya dan prinsip penerapan enkapsulasi dalam pemrograman berorientasi objek, dan selanjutnya membahas metode implementasi dan teknik penerapan enkapsulasi dari perspektif enkapsulasi logis dan enkapsulasi fisik.
Bab 8 "Mewujudkan Pemisahan Antarmuka dan Bisnis" menerapkan pemrograman berorientasi objek ke tingkat yang baru. Bab ini menjelaskan cara menggunakan desain berorientasi objek untuk mengembangkan program desktop menjadi sistem multi-layer terdistribusi melalui contoh evolusi pemisahan antarmuka dan bisnis. Mengintegrasikan teknologi Web terbaru Delphi, memperkenalkan cara menggunakan Layanan Web untuk merangkum objek bisnis, menggunakan Formulir Web untuk merangkum objek antarmuka, dan menggunakan teknologi baru untuk merangkum objek lama, sehingga mewujudkan aplikasi lintas platform.
Terakhir, Bab 9 dan 10 buku ini, "Pengenalan Mendalam tentang VCL", mempelajari mekanisme internal VCL dan menganalisis penggunaan objek dari kategori penting VCL, memberikan referensi bagi pembaca yang ingin meningkatkan level pemrograman mereka di kedalaman.
Dilihat dari struktur buku ini, dapat dibagi menjadi lima bagian.
Bagian 1, dua bab pertama buku ini merupakan pengantar pemrograman berorientasi objek Delphi. Pembaca yang sudah menguasai konsep dasar berorientasi objek dan mempunyai pengalaman dalam pemrograman Delphi dapat melewati dua bab ini.
Bagian 2, Bab 3 dan 4 adalah kunci pemrograman berorientasi objek di Delphi. Jika Anda tidak memahami esensi suatu benda, Anda tidak dapat memanfaatkan benda tersebut dengan baik.
Bagian 3, Bab 5 dan 6 adalah pengenalan mendalam tentang pemrograman berorientasi objek di Delphi. Teknik berorientasi objek tingkat lanjut semuanya didasarkan pada mekanisme pengikatan dinamis seperti metode virtual, metode abstrak, dan antarmuka objek, dan mekanisme konversi tipe seperti transformasi ke atas, transformasi ke bawah, dan transformasi antarmuka.
Bagian 4, Bab 7 dan 8 adalah aplikasi pemrograman berorientasi objek Delphi. Untuk mencapai kemampuan pemeliharaan, skalabilitas, dan penggunaan kembali program, enkapsulasi telah menjadi salah satu ide penting dalam pemrograman berorientasi objek. Melalui enkapsulasi, antarmuka dan objek bisnis dipisahkan, dan arsitektur multi-layer terdistribusi secara bertahap diwujudkan dari pemisahan antarmuka dan bisnis, dan kemudian antarmuka lintas platform dan aplikasi bisnis diwujudkan. Solusi dari aplikasi umum hingga aplikasi tingkat perusahaan berdasarkan ide pemrograman berorientasi objek ditunjukkan di sini.
Bagian 5, penutup Bab 9 dan 10, merupakan referensi pemrograman berorientasi objek di Delphi. Keakraban dengan VCL dan mempelajari VCL sangat membantu untuk menguasai Delphi. Mengingat kurangnya informasi orang dalam tentang VCL saat ini, apa yang diberikan bagian ini kepada pembaca mungkin terbatas, tetapi jarang.
Tepatnya, buku ini ditulis bukan untuk “ahli”, melainkan untuk programmer yang ingin beralih dari RAD ke OOP, dan untuk teman-teman yang ingin belajar OOP melalui Delphi. Menurut saya ini lebih cocok sebagai buku teknis Delphi tingkat menengah yang praktis. Oleh karena itu, dalam penulisan keseluruhan buku, kami berusaha agar mudah dipahami, dengan gambar dan teks, dan sejumlah besar contoh program ditulis dengan cermat (kode sumber pada CD-ROM yang menyertai buku melebihi 50 MB) untuk pembaca untuk mempelajarinya. Buku ini berfokus pada inti OOP, tidak semua aspek Delphi. Membaca buku ini memerlukan pengetahuan dasar tertentu tentang Delphi. Buku ini melibatkan beberapa pengetahuan khusus (seperti COM+, dll.) dan mengharuskan pembaca untuk merujuk ke buku terkait untuk referensi lebih lanjut.
Mungkin ada beberapa “ahli” yang akan kecewa dengan buku ini. Saya merasa tidak cocok menulis buku untuk dibaca oleh "ahli", karena saya bukan ahlinya. Saya merasa akan selalu menjadi pemula. Berbeda dari pemula lainnya, saya telah menggunakan Delphi lebih lama dan memiliki lebih banyak pengalaman dan pengalaman. Oleh karena itu, jika Anda menemukan ketidakakuratan dalam buku ini, mohon koreksi saya. Saya harap Anda memaafkan saya jika ada hal yang kurang memuaskan.
Netizen xzh2000 mengatakannya dengan baik, "Kehidupan sebuah buku sangatlah penting. Hanya jika penulisnya dapat meluangkan waktu untuk merevisi dan melengkapinya sesering mungkin, buku tersebut dapat menjadi sebuah buku klasik!" Memang benar sebuah buku yang bagus perlu direvisi berkali-kali sebelum menjadi klasik, oleh karena itu saya bersedia mendengarkan saran-saran berharga dari semua pembaca dan berharap buku ini dapat terus direvisi dan dicetak ulang.