
(
Sumber )
Saya ingin menyumbangkan "5 sen" saya untuk perselisihan yang tak henti-hentinya antara lawan dan pendukung PLO. Dari publikasi terbaru tentang hal ini, orang dapat mencatat judul berita negatif yang terang
“Semakin cepat Anda melupakan OOP, semakin baik bagi Anda dan program Anda” , semakin
“ cinta
berhenti berdebat tentang pemrograman fungsional dan OOP” dan
“pemrograman berorientasi objek yang cukup positif
dalam bahasa grafis” .
Tetapi gagasan artikel ini mendorong saya untuk
mengomentari artikel lain:
Contoh yang bagus untuk OOP sangat buruk. Sistem sifat mengimplementasikan kasus Anda dengan sempurna, dan tidak perlu sama sekali untuk menjawab Pertanyaan Eksistensial Pemrograman Objek - “Apa itu Obyek?”. [...] Lupakan OOP, itu adalah metafora yang berhasil untuk GUI, yang mereka coba tingkatkan ke status agama.
Menurut pendapat saya, ini adalah komentar khas yang sangat mengungkapkan, di mana pendekatan OO tidak dikritik (bahkan OOP dalam GUI diberikan karena), tetapi mitos yang muncul di sekitar OOP. Jadi, menurut saya, semua orang benar: keduanya pendukung ketika mereka menunjukkan kenyamanan OOP, misalnya, ketika memprogram GUI, dan lawan ketika mereka marah menaikkan OOP dalam status peluru perak, senjata absolut.
Harus segera dicatat bahwa setiap OO PL memiliki pendekatan OO sendiri, kadang-kadang sangat, kadang tidak jauh berbeda dari pendekatan OO lainnya. Saya akan melanjutkan dari pendekatan sederhana sederhana dari OO Pascal, yang telah ditetapkan dalam Turbo Pascal 5.5 dan akhirnya terbentuk untuk Delphi 7 (kita dapat mencatat bahasa konseptual dari produsen lain, misalnya, Think Pascal untuk MacOS). Ada prinsip-prinsip mendasar dalam pendekatan OO ini: enkapsulasi, pewarisan (sederhana), polimorfisme; dan keterbatasan yang signifikan: misalnya, pada dasarnya tidak ada
pewarisan berganda yang sangat rumit.
Seperti yang sudah saya tulis dalam
komentar untuk artikel yang disebutkan di atas, transisi dari Pascal klasik ke OO Pascal tampak, menurut pendapat saya, sangat jelas dan dibenarkan:
Enkapsulasi paling sederhana sudah ada dalam catatan. Selanjutnya konsep pewarisan datang dalam contoh sederhana seperti:
type
TCoord = record //
x, y : integer
end;
TRect = record //
leftTop, RBot : TCoord;
end;
«record» «class» ( ), «» .
— , , GUI. « „ ?“». — , — — . . , , ! ( ). — , , . — . , , , , , — , . , . , — . , . ? — : . , . .:
.., .., .. . .
. ., . . 3-, . .: , 2007, . 3 , , . , . . , . : , . , - ;)
,
,
,
., , , . , . — . — , , :
[...] , .. IDE GUI, .
, , , . : « — ». , - , , , . : - . , . (
, , : , , , .) — , , , , .