Saha anu boga sagala pangaweruh saeutik di programming, wondering ngeunaan naha aya kelas base abstrak. Naon Tujuan maranéhanana? Kumaha carana nyieun hiji kelas abstrak? Naon kaunggulan aranjeunna nawiskeun dina prakna? Naha maranéhna téh diperlukeun dina programming jeung sababaraha fitur palaksanaan ngusulkeun tumut kana akun?
kelas abstrak
Ku kituna dina programming disebut kode Unit on dasar nu objék teu bisa dijieun. Hal ieu dicatet yén kelas ieu ngaganti teu kaci abstrak. Ku alatan éta, kreasi objék dumasar kana éta téh rada mungkin. Lamun urang nganggap conto Java, urang nyusunna modél nu bisa nerangkeun konstruktor di kelas A. Tapi ngagunakeun éta, urang teu bisa. Jalan kaluar tina kaayaan ieu téh pikeun dibewarakeun wae rujukan variabel. Jeung anjeun perlu jelas dirumuskeun ku kituna nunjuk ka hiji objek kelas A. Ieu kumaha eta bisa dilakukeun? Ieu bakal mantuan kami mawa. Eta kudu ditanggung dina pikiran yén kelas indungna sok dianggap leuwih serbaguna ti turunan nu. Dina loba basa programming dipaké pikeun mawa otomatis. Tapi lamun euweuh kapercayaan ku ayana mekanisme sapertos ieu, mangka anjeun kudu eksplisit nuduhkeun obyék.
métode abstrak
Naon maranéhna? Abstrak panggero eta metode nu teu diimplikasikan dina kelas ieu. Ku kituna, di handap kurung (anu mangrupa daptar dalil dipaké therein) teu masihan lawang ngawangun (whereupon pedaran block lokasina metoda nu), sarta ngan titik koma. Ku kituna, dina hal ieu, taya béja ngeunaan naon hancana. Di dieu patarosan bisa jadi nanya: "Jeung metoda naon tanpa palaksanaan?" Barina ogé, anjeunna teu dipake! Tangtu, di kelas, tempat anjeunna digambarkeun, ieu teu mungkin. Tapi lamun urang mikirkeun kaayaan tina jihat turunan hiji, éta bisa disebut. Sarta eta bakal beroperasi dina pedaran husus disadiakeun di kelas ieu.
Fitur métode abstrak
Aya watesan dina ngagunakeun éta. Hayu urang nganggap conto bahasa programming Java. Aya sarat lamun kelas boga sahanteuna hiji metoda misalna, nya kudu abstrak. Jeung bisi wae ieu luyu ngagunakeun konstruksi saperti? Hayu urang ngartos ieu jeung hiji pets conto kelas. Pikeun ngawitan ngartos yén teu aya sora nu sipatna diterbitkeun. Ku alatan éta, dina kelas paling umum henteu diatur palaksanaan sora éta métode déskriptif. Tapi dijieun awakna nu mencar via blok pikeun manéhna. Na di handap, nalika nyieun dog kelas, ucing atawa Hamster bakal prescribed metoda tunggal keur eta, dina kerangka ti mana bakal diungkabkeun ka sadaya fitur.
panganteur
Dina programming dijieun loba parabot anu Tujuan - mantuan urang ngadamel produk kualitas alus. Jeung topik ditaliti kudu dibikeun ka aspék ieu, sarta yén everyone weruh kawas hiji kelas abstrak tina panganteur anu. Jadi, fitur panungtungan téh nya éta teu kaci sipat jeung métode teu tangtu awak. Ku examining bédana antara hiji kelas abstrak tina panganteur, kudu Huni langkung lengkep ihwal salah tangtu. Ku kituna, mimiti geus diwariskeun, sedengkeun nu kadua - geus kabiruyungan. jalma inexperienced ieu mungkin sigana ngawur. Tapi nyatana, nu bisa diwariskeun ngan hiji kelas, sarta sadar - saloba perlu. Maksudna naon béda ti panganteur ti kelas abstrak. Java masih fitur nu eta bisa digambarkeun ngan abstrak métode umum jeung konstanta statis. Tapi di interfaces sarua ogé bisa diwariskeun. Perlu nunjuk kaluar yén operator dipaké téh publik via umum.
Sababaraha pusaka interfaces
fitur ieu henteu sadia pikeun kelas di loba basa programming (misalna Java dianggap ku urang). Ieu alatan sababaraha masalah. Salaku ambiguities sapertos nunjukkeun yén kajadian dina suksesi. Ieu alesan pikeun bubuka sababaraha pusaka panganteur. Ieu sawaréh solves masalah aya, tapi teu kabeh. Ku kituna, atuh kana prinsip encapsulation na polymorphism, interfaces bisa hasil dilaksanakeun di kelas béda nurutkeun rupa padika (sanajan maranéhna bakal boga ngaran nu sami). Tapi ulah poho ngeunaan masalah aya. Ku kituna, nalika gawé bareng sababaraha interfaces kudu salawasna tangtukeun saha urang kudu di pikiran. Ogé, masalah bakal jeung pas nyobaan pikeun digawe sareng nami nu sami di dua cara - dina hal ieu, aranjeunna moal bisa ngamangpaatkeun. Kituna, dina kasus kawas ieu diperlukeun keur ngurus ayana total jualan.
data abstrak
Konsep ieu mangrupakeun konci pikeun program. Dina hal ieu, handapeun abstraksi tina review bebas sarta nyurtian separation tina panganteur na palaksanaan. Hayu urang nempo conto. Simkuring boga televisi, nu hiji obyék atawa modul. Cai mibanda hiji panganteur. Salaku sapertos sipatna kadali, kitu ogé sora jeung gambar. Antarbeungeut leuwih sampurna dipaké, beuki teu nyaman TV di pamakéan. Urang tiasa pindah antara program ku mencét tombol nanaon. Dina hal ieu, aya teu kudu mikir ngeunaan prosés fisik dina TV. Ngurus aranjeunna spesialis, anu ngumpulkeun alat. Simkuring resep jalma anu ngan museurkeun sipat. Balik ka programming, urang bisa disebutkeun yen aranjeunna dina panganteur na palaksanaan sarupa. Ogé, upami jalma anu geus yakin dina kanyaho-Na, anjeunna tiasa "dipiceun" nutupan TV hypothetical kami sarta pikeun ningkatkeun eta. Sanajan ieu bisa ngakibatkeun kasuksésan lokal, di hal nu ilahar, hasil tungtung téh négatip. Ku alatan éta, dina larangan programming dirojong tina aksés jeung nyumputkeun komponén internal data abstrak. Prinsip mékanisme ieu nyadiakeun pikeun cara keur mencegah adjustment dihaja atawa dihaja sahiji komponén internal. Sarta lamun ngobrol ngeunaan jenis data abstrak, mean tina susunan susunan operasi nu bisa dipigawé di aranjeunna.
objék
Urang geus katempo hiji kelas abstrak sarta panganteur di umum sarta umum. Ayeuna hayu urang jéntré pangaweruh urang. Ngamimitian bayar perhatian objék. Handap éta, sacara umum, sadar realitas lingkungan anu nyampak dina ruang jeung waktu. Tapi formal ngaidentipikasi objék dina program nu hese (jeung titik filosofis tur teoritis of view). Kituna, ieu alatan sipat anak. Salaku conto, di handap: Hiji obyék bisa dicirikeun jadi uniquely (kalawan ngaran unik), eta aya dina hiji kaayaan nu tangtu tur ngagunakeun pola nu tangtu kabiasaan.
warisan
Kusabab programming anjeun dumasar kana hiji hubungan wangunan tangkal hirarki antara objék, patarosan ieu diangkat ngeunaan kanyataan yén sipat kaayaan sahiji jenis perpustakaan kode parental anu dibikeun. Dina warisan ngartos hubungan lamun batur salah repeats paripolah jeung struktur hal sejenna. Dina kahirupan biasa, eta bisa kapanggih unggal madhab. Misalna ditunda na program elemen rélatif abstrak. Salaku babandingan hiji, kanyataan yen aya badan sapertos kawas manuk. Ieu hiji ngaran abstrak. Salaku conto husus ngakibatkeun tea, Nightingale atanapi sparrow. Hatur nuhun kana warisan urang tiasa nganggo perpustakaan kelas, kitu ogé pikeun ngembangkeun éta pikeun program tangtu. Ieu pakakas ngamungkinkeun urang pikeun nyieun objék anyar, sakaligus nambahkeun atawa ngarobah sipat hiji acan dijieun. Pewaris meunang sagala metodeu na widang karuhun sarta acquires atribut sorangan, upami perlu. Alatan kanyataan yén aya elemen abstrak sarta prinsip warisan, aya ample kasempetan pikeun modifikasi dina programming obyék-berorientasi. Sajaba ti éta, hal ieu ngamungkinkeun pendekatan fleksibel pikeun ngarengsekeun masalah. Lamun anjeun inherit hiji kelas anyar data nu ditransfer sarta fungsi.
polymorphism
Perlu nerapkeun fungsi anu sarua pikeun ngajawab tipena béda masalah. Dina hal ieu nyadiakeun ayana kamungkinan hiji aksi béda, eusi nu bakal gumantung kana jenis obyék kalayan nu gawe geus rengse. Dina polymorphism ngartos sipat elemen nu boga indung umum, pikeun nedunan sarupa harti semantis sahiji masalah dina cara béda. Urang tarik analogi jeung sato. Aya aksi - ngajalankeun. Urang kabeh terang kumaha eta kajadian. Tapi sato béda (singa, gajah, simpanse, buaya, kuya) aksi ieu bakal dilumangsungkeun dina cara béda. Dina hal ieu, pergerakan maranéhanana nyaéta pamekar jawab, anu lamun perlu bisa ngabalukarkeun pikeun hal husus anu rutin tangtu, algoritma jeung ngalaksanakeun eta junun. Hal ieu dilakukeun ngagunakeun susunan métode. Dina waktu nu sarua dina unggal programmer kelas hususna nu tujuanna sipat nu aya alamiah. Ngarobah hal di turunan, Anjeun bisa ngahontal husus, aksi nu dipikahoyong dina hal ieu. éfék saperti disebut polymorphism objék. Sacara umum, hiji kelas abstrak mangrupa alat pisan mangpaat pikeun programming.