Selasa, 19 Februari 2013

Objective C Programming


 

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.


images (1)


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