Sejarah Objective-C
diciptakan terutama oleh Brad Cox dan Tom Cinta pada awal tahun 1980 di
perusahaan mereka Stepstone Keduanya telah diperkenalkan ke Smalltalk
sementara di ITT Korporasi Pusat Pemrograman Teknologi pada tahun 1981.
Karya awal di Objective-C jejak kembali ke sekitar waktu itu. Cox
tertarik dengan masalah usabilitas benar dalam desain software dan
pemrograman. Objective-C diciptakan terutama oleh Brad Cox dan Tom Cinta
pada awal tahun 1980 di Stepstone perusahaan mereka. Keduanya telah
diperkenalkan ke Smalltalk sementara pada Pusat Teknologi ITT
Corporation Pemrograman pada tahun 1981.
Karya
awal di Objective-C jejak kembali ke sekitar waktu itu . Cox tertarik
dengan masalah usabilitas sejati dalam desain software dan pemrograman.
Dia menyadari bahwa bahasa seperti Smalltalk akan sangat berharga dalam
membangun lingkungan pengembangan untuk pengembang sistem di ITT.
Namun, ia dan Tom Love juga mengakui bahwa kompatibilitas dengan C
adalah sangat penting dalam lingkungan rekayasa ITT telekomunikasi.
Cox
mulai menulis prosesor pra-C untuk menambahkan beberapa kemampuan
Smalltalk. Dia segera memiliki implementasi kerja perpanjangan
berorientasi obyek dengan bahasa C, yang ia sebut “OOPC” untuk
Object-Oriented Compiler Pra. Cinta dipekerjakan oleh Schlumberger
Penelitian pada tahun 1982 dan memiliki kesempatan untuk mendapatkan
yang pertama komersial salinan Smalltalk-80, yang selanjutnya
mempengaruhi perkembangan gagasan mereka.
Dia menyadari bahwa bahasa seperti
Smalltalk akan sangat berharga dalam membangun lingkungan pengembangan
untuk pengembang sistem di ITT. Namun, ia dan Tom Love juga mengakui
bahwa kompatibilitas dengan C adalah sangat penting dalam lingkungan
rekayasa ITT telekomunikasi. Cox mulai menulis prosesor pra C untuk
menambahkan beberapa kemampuan Smalltalk. Dia segera memiliki
implementasi kerja perpanjangan berorientasi obyek dengan bahasa C, yang
ia sebut “OOPC” untuk Object-Oriented Compiler Pra. Cinta dipekerjakan
oleh Schlumberger Penelitian pada tahun 1982 dan memiliki kesempatan
untuk mendapatkan yang pertama komersial salinan Smalltalk-80, yang
selanjutnya mempengaruhi perkembangan gagasan mereka.
Dalam rangka untuk menunjukkan bahwa
kemajuan nyata dapat dibuat, Cox menunjukkan bahwa membuat dipertukarkan
komponen perangkat lunak benar-benar hanya membutuhkan perubahan
praktis untuk alat yang ada. Secara khusus, mereka yang diperlukan untuk
mendukung objek dalam cara yang fleksibel, datang disertakan dengan
satu set yang dapat digunakan perpustakaan, dan memungkinkan untuk kode
(dan setiap sumber daya yang dibutuhkan oleh kode) yang akan dibundel ke
dalam format cross-platform tunggal.
Model Objective-C dari pemrograman berorientasi objek didasarkan pada pesan lewat untuk contoh objek. Dalam Objective-C yang tidak hanya memanggil metode, salah mengirim pesan. Ini
tidak seperti Simula model pemrograman-style yang digunakan oleh C + + .
Perbedaan antara kedua konsep adalah bagaimana kode direferensikan oleh
metode atau nama pesan dijalankan. Dalam bahasa Simula-gaya, nama
metode dalam kebanyakan kasus terikat ke bagian kode di kelas target
dengan compiler. Dalam Smalltalk dan Objective-C, target pesan
diselesaikan pada saat runtime, dengan obyek penerima itu sendiri
menafsirkan pesan. Sebuah metode yang diidentifikasi oleh pemilih atau SEL –
string NULL-dihentikan mewakili namanya – dan memutuskan untuk metode C
pointer mengimplementasikannya:IMP sebuah. Sebuah konsekuensi dari ini
adalah bahwa sistem pesan-passing tidak memiliki tipe memeriksa . Obyek
yang pesan diarahkan – penerima – tidak dijamin untuk menanggapi pesan, dan jika tidak, itu hanya menaikkan pengecualian. [7]
Mengirim metode pesan ke objek yang ditunjuk oleh obj pointer akan membutuhkan kode berikut dalam C + + :
obj -> Metode (argumen);
Di Objective-C, ini ditulis sebagai berikut:
[Metode obj: argumen];
Kedua gaya pemrograman memiliki kekuatan
dan kelemahan. Pemrograman berorientasi obyek dalam gaya Simula
memungkinkan multiple inheritance dan eksekusi lebih cepat dengan
menggunakan waktu kompilasi mengikat bila memungkinkan, tetapi tidak
mendukung dinamis mengikat secara default. Hal ini juga memaksa semua
metode untuk memiliki implementasi yang sesuai kecuali mereka abstrak .
Smalltalk-gaya pemrograman memungkinkan pesan untuk pergi
diimplementasikan, dengan metode memutuskan untuk implementasinya pada
saat runtime. Sebagai contoh, pesan dapat dikirim ke koleksi
benda-benda, yang hanya beberapa akan diharapkan untuk merespon, tanpa
takut menghasilkan kesalahan runtime. Pesan lewat juga tidak
mengharuskan obyek didefinisikan pada waktu kompilasi. Implementasi
masih diperlukan untuk metode yang akan dipanggil dalam objek berasal.
(Lihat mengetik dinamis bagian bawah untuk keuntungan lebih dinamis
(akhir) yang mengikat.)
Instalasi Setelah kelas Objective-C
ditulis, dapat instantiated. Hal ini dilakukan dengan terlebih dahulu
mengalokasikan sebuah instance terinisialisasi dari kelas (objek) dan
kemudian dengan menginisialisasi itu. Sebuah objek tidak berfungsi
sepenuhnya sampai kedua langkah telah selesai. Langkah-langkah ini harus
dilakukan dengan satu baris kode sehingga tidak pernah ada objek yang
dialokasikan yang belum mengalami inisialisasi (dan karena itu tidak
dianjurkan untuk menjaga hasil tengah sejak
-init
dapat kembali objek yang berbeda dari yang itu meminta).
Instansiasi dengan initializer, standar no-parameter:
MyObject * o = [[MyObject alloc] init];
Instansiasi dengan initializer kustom:
MyObject * o = [[MyObject alloc] initWithString: myString];
Dalam kasus di mana tidak ada
inisialisasi kustom sedang dilakukan, “baru” metode yang sering dapat
digunakan di tempat-alloc init pesan:
MyObject * o = [MyObject baru];
Juga, beberapa kelas menerapkan metode initializers kelas. Seperti
+new
, mereka menggabungkan+alloc
dan -init
, tapi tidak seperti +new
, mereka kembali sebuah contoh autoreleased. Initializers kelas beberapa metode mengambil parameter:
MyObject * o = [MyObject object];
MyObject * o2 = [MyObject objectWithString: myString];
Pesan alloc mengalokasikan memori
yang cukup untuk menampung semua variabel misalnya untuk sebuah objek,
set semua variabel misalnya ke nilai nol, dan mengubah memori ke sebuah
instance dari kelas, tanpa titik selama inisialisasi memori turunan dari
superclass .
Kuncinya simpel! Ketahuilah apa
yang hendak anda inginkan, dan setelah itu tuliskan langkah – langkah /
instruksi yang benar (tentu saja harus benar dong…) untuk mencapai apa
yang anda inginkan tadi. That’s a simply basic of programming !!!!!!
Tidak ada komentar:
Posting Komentar