KomputerPengaturcaraan

PLO - apakah ini? Prinsip-prinsip asas pengaturcaraan berorientasikan objek

Mengapa berorientasi objek pengaturcaraan adalah pilihan dalam kebanyakan projek? PLO menawarkan cara yang berkesan untuk menangani kerumitan masing-masing. Selain daripada menilai program sebagai urutan arahan laku, ia merupakan sebagai satu kumpulan objek dengan ciri-ciri tertentu dan menghasilkan mereka dengan tindakan-tindakan tertentu. Ini menghasilkan aplikasi yang lebih jelas, lebih dipercayai dan legkosoprovozhdaemyh.

Prinsip-prinsip asas berorientasi objek pengaturcaraan (OOP) terbentuk kerana sekatan telah dijumpai di dalam pendekatan yang sedia ada. Di kalangan mereka - akses yang tidak terhad kepada data dan sejumlah besar pautan, yang mengenakan sekatan ke atas perubahan itu. kesedaran dan sebab-sebab mereka penting untuk memahami apa pengaturcaraan OOP dan apakah kelebihannya.

bahasa prosedur

C, Pascal, FORTRAN dan bahasa yang sama adalah prosedur. Iaitu, setiap pengendali memberitahu komputer untuk melakukan sesuatu: untuk mendapatkan data, menambah sehingga nombor, dibahagikan kepada enam, hasilnya dipaparkan. bahasa prosedur lampiran senarai arahan. Jika ia adalah kecil, tidak ada prinsip utama yang lain (sering dirujuk sebagai paradigma a) tidak diperlukan. programmer mencipta senarai arahan, dan komputer melaksanakan mereka.

Pengasingan fungsi

Apabila permohonan menjadi senarai yang lebih rumit giliran. Beberapa boleh memahami lebih daripada beberapa ratus arahan sehingga mereka dikumpulkan. Atas sebab ini, majlis itu adalah cara untuk membuat permohonan itu lebih difahami oleh Pencipta. Dalam beberapa bahasa, konsep yang sama boleh dipanggil subrutin atau prosedur.

Aplikasi ini dibahagikan kepada fungsi, setiap yang mempunyai tujuan yang jelas dan antara muka.

Idea pemisahan prosedur boleh berkembang menjadi kumpulan yang lebih besar objek dipanggil modul, tetapi prinsip adalah mirip: perkumpulan komponen yang membawa senarai dokumen.

Pengasingan fungsi dan modul - salah satu daripada batu-batu sudut pengaturcaraan berstruktur, yang selama beberapa dekad sehingga PLO adalah ia menimbulkan paradigma.

masalah pengaturcaraan berstruktur

Aplikasi menjadi lebih besar, pengaturcaraan berstruktur mula mengalami kesukaran. Projek menjadi terlalu kompleks. beralih grafik. Ia melibatkan sejumlah besar pengaturcara. kerumitan yang telah berkembang. Kos menembak sehingga, jadual yang telah beralih lagi, padahal telah datang keruntuhan.

Analisis punca kegagalan mendedahkan kekurangan paradigma prosedur. Tidak kira bagaimana baik berstruktur pendekatan pengaturcaraan dilaksanakan, aplikasi besar menjadi terlalu kompleks.

Apakah punca-punca masalah-masalah yang berkaitan dengan bahasa prosedur? Pertama, fungsi mempunyai akses yang tidak terhad kepada data global. Kedua, prosedur yang tidak berkaitan dan nilai-nilai buruk mensimulasikan dunia sebenar.

Jika kita mengambil kira isu-isu ini dalam konteks perisian perakaunan inventori, salah satu elemen yang paling penting dalam data global adalah satu set SKU. fungsi yang berbeza boleh merujuk kepada mereka untuk memasukkan nilai baru, ia dipaparkan, perubahan dan sebagainya. D.

akses tanpa had

Program ini ditulis, sebagai contoh, dalam C, terdapat dua jenis data. Tempatan tersembunyi dalam fungsi dan prosedur lain tidak digunakan.

Apabila dua atau lebih fungsi mempunyai akses kepada data yang sama, kedua mesti menjadi global. Itu, sebagai contoh, diambil maklumat akaun tentang mata pelajaran. Data global boleh menjadi apa-apa prosedur yang ada.

Dalam program yang besar, terdapat banyak ciri-ciri dan banyak unsur global. Masalah paradigma prosedur adalah bahawa ia membawa kepada lebih ramai potensi hubungan antara mereka.

Sejumlah besar sambungan menyebabkan beberapa kesukaran. Pertama, ia merumitkan pemahaman struktur program. Kedua, sukar untuk berubah. Perubahan dalam item data global mungkin memerlukan pelarasan semua fungsi yang mempunyai akses kepadanya.

Sebagai contoh, dalam program ini seseorang perakaunan memutuskan bahawa kod objek menyumbang harus tidak terdiri daripada 5 digit, dan daripada 12. Ini akan memerlukan perubahan jenis data dari pendek ke panjang. Kini dikaitkan dengan kod fungsi mesti diubah suai untuk bekerja dengan format baru.

Apabila unsur-unsur diubah dalam aplikasi yang lebih besar, ia adalah sukar untuk mengatakan apa prosedur mempunyai akses kepada mereka. Tetapi, jika angka ini, menukar mereka boleh menyebabkan operasi yang tidak betul dengan data global lain. Semuanya disambungkan dengan semua yang lain agar perubahan dalam satu tempat memakan diri di negara lain.

Model dunia sebenar

Masalah kedua dan lebih penting paradigma prosedur adalah bahawa lokasi tertentu data dan fungsinya kurang menyerupai perkara-perkara dalam dunia sebenar. Di sini kita berhadapan dengan objek seperti orang atau kereta. Mereka adalah seperti tiada data atau fungsi. Kompleks objek dunia sebenar mempunyai sifat-sifat dan tingkah laku.

sifat-sifat

Contoh sifat-sifat (kadang-kadang dipanggil sifat-sifat) bagi orang berada warna mata dan nama jawatan itu, untuk kereta - kuasa dan beberapa pintu. Seperti yang ternyata, sifat-sifat dunia sebenar bersamaan dengan data dalam program ini. Mereka mempunyai nilai-nilai tertentu, seperti biru (warna mata) atau empat (bilangan pintu).

tingkah laku

Behavior - adalah bahawa objek dunia sebenar dihasilkan dalam tindak balas kepada beberapa jenis kesan. Jika anda bertanya kepada bos untuk kenaikan gaji, jawapannya adalah "ya" atau "tidak." Jika anda menekan brek, kereta akan berhenti. Dan menghentikan tingkah laku lafaz adalah contoh. Tingkah laku yang sama dengan prosedur: ia dipanggil untuk melakukan sesuatu, dan ia berbuat demikian. Oleh itu, data dan fungsi dengan sendirinya tidak memodelkan dunia sebenar objek cekap.

menangani

Objek dalam OOP diwakili sebagai satu set data dan fungsi. Hanya prosedur yang dipanggil fungsi anggota dalam C ++, membolehkan untuk mendapatkan nilai. Ini tersembunyi dan dilindungi daripada perubahan. Makna dan fungsi dirangkumkan ke dalam satu. Pengkapsulan dan upryatyvanie - syarat-syarat asas dalam keterangan bahasa berorientasikan objek.

Jika anda mahu menukar data, ia tahu apa fungsi berinteraksi dengan mereka. Tiada prosedur lain tidak boleh mengaksesnya. Ini memudahkan bertulis, debugging, dan mengekalkan program ini.

Permohonan biasanya terdiri daripada beberapa objek yang berinteraksi antara satu sama lain, menyebabkan fungsi anggota.

Hari ini, OOP paling banyak digunakan bahasa (pengaturcaraan berorientasikan objek) - C ++ (plus plus). Di Jawa tidak mempunyai beberapa ciri-ciri seperti petunjuk, template dan pewarisan berbilang, yang menjadikan ia kurang berkuasa dan serba boleh daripada C ++. C # masih belum mencapai populariti C ++.

Ia harus diperhatikan bahawa apa yang dipanggil fungsi ahli dalam kaedah C ++ dipanggil dalam beberapa bahasa berorientasikan objek lain seperti Smalltalk. Item data yang dipanggil sifat-sifat. Memanggil kaedah objek itu menghantar dia mesej.

analogi

Anda boleh bayangkan objek jabatan syarikat. Dalam kebanyakan organisasi, pekerja tidak bekerja satu hari dengan kakitangan, gaji pengecasan berlebihan berikut, dan kemudian seminggu terlibat dalam perdagangan runcit. Setiap jabatan mempunyai kakitangan sendiri, dengan kewajipan yang diberikan dengan jelas. Terdapat data sendiri: petunjuk gaji, jualan, perakaunan kakitangan, dan lain-lain Orang-orang di jabatan bekerja dengan maklumat mereka ... Pembahagian syarikat itu, oleh itu, memudahkan kawalan operasi dan mengekalkan integriti data. Perakaunan bertanggungjawab untuk gaji. Jika anda ingin tahu jumlah upah yang dibayar kepada cawangan selatan pada bulan Julai, tidak perlu untuk menyelidiki ke dalam arkib. Ia sudah cukup untuk menghantar nota kepada orang yang bertanggungjawab, tunggu sehingga orang yang mempunyai akses kepada data dan menghantar tindak balas kepada maklumat yang diminta. Ini memastikan pematuhan kepada peraturan-peraturan dan ketiadaan gangguan luar. Dengan cara yang sama objek dalam PLO menyediakan aplikasi organisasi.

Perlu diingat bahawa orientasi objek tidak terpakai kepada butir-butir program kerja. Kebanyakan arahan C ++ pengendali sepadan dengan bahasa prosedur seperti C. Malah, fungsi anggota dalam C ++ adalah hampir sama dengan fungsi dalam C. Hanya konteks yang lebih luas akan membolehkan untuk menentukan sama ada arahan prosedur atau objek yang berorientasikan.

Objek dalam OOP: Definisi

Apabila menimbangkan masalah pengaturcaraan dalam bahasa berorientasikan objek dan bukannya soalan mengenai bahagian ke dalam majlis berasingan adalah masalah dalam kemudahan pemisahan. pemikiran OOP adalah lebih mudah untuk membangunkan aplikasi. Ini adalah disebabkan oleh persamaan perisian dan objek sebenar.

Apakah jenis perkara-perkara yang objek dalam OOP? Berikut adalah beberapa kategori biasa.

objek fizikal dalam OOP - adalah:

  • model aliran pengangkutan;
  • komponen elektrik dalam program reka bentuk litar;
  • model ekonomi negara;
  • pesawat dalam sistem kawalan trafik udara.

Unsur-unsur alam sekitar komputer pengguna:

  • menu;
  • tingkap;
  • grafik (line, segi empat tepat, bulatan);
  • pemacu papan kekunci, tetikus, pencetak, cakera.

orang:

  • pekerja;
  • pelajar;
  • pelanggan;
  • penjual.

maklumat:

  • penyimpanan buku;
  • satu perkara peribadi;
  • kamus;
  • jadual latitud dan longitud penempatan.

Komunikasi dunia sebenar objek dan PLO adalah hasil daripada gabungan fungsi dan data mereka telah merevolusikan pengaturcaraan. Seperti perlawanan rapat dalam bahasa prosedur sana.

kelas

Objek dalam PLO - ahli kelas. Apa maknanya? bahasa pengaturcaraan telah terbina dalam jenis data. Jenis int, t. E. Integer yang telah ditetapkan dalam C ++. Anda boleh mengisytiharkan apa-apa bilangan pembolehubah int.

Begitu juga, kejamakan objek ditakrifkan oleh satu kelas. Ia mentakrifkan fungsi dan data yang dimasukkan di zon itu tidak mewujudkan mereka, serta int tidak mewujudkan pembolehubah.

Kelas di PLO - penerangan beberapa objek yang sama. Prince, Sting dan Madonna adalah penyanyi. Tidak ada yang dengan nama itu, tetapi orang boleh dipanggil begitu, jika mereka mempunyai ciri-ciri yang sesuai. OOP objek - hal ini.

warisan

Dalam kehidupan, kelas dibahagikan kepada subkelas. Sebagai contoh, haiwan dibahagikan kepada amfibia, mamalia, burung, serangga dan sebagainya. D.

Prinsip ini jenis bahagian adalah bahawa setiap subkelas mempunyai ciri-ciri yang sama dengan kelas dari mana. Semua kereta mempunyai roda dan motor. Ini adalah ciri-ciri yang menentukan kenderaan. Selain ciri-ciri umum setiap subkelas mempunyai ciri-ciri sendiri. Terdapat banyak kerusi bas dan trak mempunyai ruang untuk membawa beban berat.

Begitu juga, kelas asas boleh menjadi subkelas ibubapa beberapa terbitan yang boleh ditakrifkan supaya mereka akan berkongsi ciri-ciri sendiri dengan tambahan. Warisan seperti fungsi, memudahkan program prosedur. Jika beberapa bahagian kod di lakukan cukup banyak yang sama, anda boleh mengekstrak elemen yang sama dan meletakkan mereka dalam satu prosedur. Tiga kawasan permohonan boleh memanggil fungsi untuk melakukan tindakan yang sama, tetapi mereka boleh menghasilkan dan operasi sendiri. Begitu juga, kelas asas mengandungi maklumat yang sama kepada kumpulan derivatif. Fungsi sama mengurangkan pusaka program berorientasikan objek dan menjelaskan hubungan unsur-unsur.

kitar semula

Sebaik sahaja kelas dicipta dan debugged, ia boleh dipindahkan kepada pengatur cara lain untuk menggunakan semula dalam aplikasi anda sendiri. Ia seperti perpustakaan fungsi yang boleh dimasukkan ke dalam aplikasi yang berbeza.

Dalam OOP, warisan adalah lanjutan daripada idea pelbagai penggunaan. Dari kelas yang sedia ada, tanpa mengubah, kita boleh membentuk yang baru dengan tambahan fungsi lain. Memudahkan penggunaan semula perisian yang sedia ada - satu kelebihan penting PLO. Adalah dipercayai bahawa ia menyediakan keuntungan semakin banyak pelaburan awal.

Mewujudkan jenis data baru

Kemudahan yang sesuai untuk mewujudkan jenis data baru. Katakan program yang menggunakan nilai-nilai dua dimensi (contohnya koordinat atau latitud dan longitud), dan mempunyai keinginan untuk menyatakan tindakan aritmetik kepada mereka:

position1 = kedudukan + asal,

mana position1, kedudukan dan asal - sepasang nilai angka yang bebas. Mewujudkan kelas yang merangkumi kedua-dua nilai, dan pengisytiharan pembolehubah daripada tujuannya mewujudkan jenis data baru.

Polymorphism, muatan

Pengendali = (sama), dan + (tambah) yang digunakan dalam aritmetik positional atas tidak bertindak serta terbina dalam jenis, seperti int. objek kedudukan, dan lain-lain. Tidak ditentukan terlebih dahulu dan ditetapkan oleh perisian. Bagaimana pengendali ini tahu bagaimana untuk mengendalikan mereka? Jawapannya terletak pada hakikat bahawa tingkah laku yang baru boleh ditetapkan untuk mereka. operasi ini akan menjadi ahli fungsi Kelas Kedudukan.

Menggunakan operator atau prosedur bergantung kepada apa yang mereka bekerja dipanggil polymorphism. Apabila terdapat operator, seperti + atau =, mendapat peluang untuk bekerja dengan jenis data yang baru, ia mengatakan bahawa ia adalah beban. Beban dalam PLO - sejenis polymorphism. Ia adalah ciri-ciri yang penting.

Sebuah buku pada PLO "Pengaturcaraan Berorientasikan Objek for Dummies" akan membolehkan semua orang untuk berkenalan dengan topik ini dengan lebih terperinci.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ms.unansea.com. Theme powered by WordPress.