- Objektinis programavimas
- OOP pranašumas prieš į procedūras orientuotą programavimo kalbą
- Skirtumas tarp objektinės ir objektinės programavimo kalbos.
Šiame puslapyje sužinosime apie OOP pagrindus. Objektinis programavimas yra paradigma, kuri pateikia daug sąvokų, pvz paveldėjimo , duomenų įrišimas , polimorfizmas ir kt.
pradžios yra laikoma pirmąja objektinio programavimo kalba. Programavimo paradigma, kai viskas vaizduojama kaip objektas, žinoma kaip tikrai į objektą orientuota programavimo kalba.
Smalltalk yra laikoma pirmąja tikrai į objektą orientuota programavimo kalba.
Populiarios į objektus orientuotos kalbos yra Java , C# , PHP , Python , C++ ir kt.
Pagrindinis objektinio programavimo tikslas yra įgyvendinti realaus pasaulio esybes, pavyzdžiui, objektą, klases, abstrakciją, paveldėjimą, polimorfizmą ir kt.
nuskaityti.nextstring java
OOP (objektinė programavimo sistema)
Objektas reiškia realaus pasaulio subjektą, pvz., rašiklį, kėdę, stalą, kompiuterį, laikrodį ir kt. Objektinis programavimas yra metodika arba paradigma kurti programą naudojant klases ir objektus. Tai supaprastina programinės įrangos kūrimą ir priežiūrą, nes pateikia keletą sąvokų:
Be šių sąvokų, yra keletas kitų terminų, vartojamų objektiniame projekte:
- Sukabinimas
- Sanglauda
- asociacija
- Sujungimas
- Sudėtis
Objektas
Bet koks subjektas, turintis būseną ir elgesį, yra žinomas kaip objektas. Pavyzdžiui, kėdė, rašiklis, stalas, klaviatūra, dviratis ir tt Tai gali būti fizinė arba loginė.
Objektą galima apibrėžti kaip klasės egzempliorių. Objekte yra adresas ir jis užima šiek tiek vietos atmintyje. Objektai gali bendrauti nežinodami vienas kito duomenų ar kodo detalių. Vienintelis būtinas dalykas yra priimto pranešimo tipas ir objektų grąžinamo atsakymo tipas.
Pavyzdys: Šuo yra objektas, nes turi tokias būsenas kaip spalva, vardas, veislė ir pan., taip pat elgesys, pavyzdžiui, vizgina uodegą, lojimas, valgymas ir pan.
Klasė
Daiktų kolekcija vadinama klase. Tai loginis darinys.
Klasė taip pat gali būti apibrėžta kaip planas, iš kurio galite sukurti atskirą objektą. Klasė neužima vietos.
Paveldėjimas
Kai vienas objektas įgyja visas pirminio objekto savybes ir elgesį , tai žinoma kaip paveldėjimas. Tai suteikia kodo pakartotinį naudojimą. Jis naudojamas vykdymo laiko polimorfizmui pasiekti.
Polimorfizmas
Jeigu viena užduotis atliekama įvairiais būdais , jis žinomas kaip polimorfizmas. Pvz.: įtikinti klientą kitaip, nupiešti ką nors, pavyzdžiui, figūrą, trikampį, stačiakampį ir pan.
„Java“ sistemoje naudojame metodų perkrovimą ir metodo nepaisymą, kad pasiektume polimorfizmą.
Kitas pavyzdys gali būti ką nors kalbėti; pavyzdžiui, katė kalba miau, šuo loja vau ir pan.
Abstrakcija
Vidinių detalių slėpimas ir funkcionalumo rodymas yra žinomas kaip abstrakcija. Pavyzdžiui, telefono skambutis, mes nežinome vidinio apdorojimo.
„Java“ abstrakcijai pasiekti naudojame abstrakčią klasę ir sąsają.
Inkapsuliavimas
Kodo ir duomenų surišimas (arba apvyniojimas) į vieną vienetą yra žinomas kaip inkapsuliavimas . Pavyzdžiui, kapsulė, ji apvyniojama įvairiais vaistais.
„Java“ klasė yra inkapsuliavimo pavyzdys. „Java bean“ yra visiškai inkapsuliuota klasė, nes visi duomenų nariai čia yra privatūs.
Sukabinimas
Susiejimas reiškia kitos klasės žinias ar informaciją arba priklausomybę. Tai atsiranda, kai klasės žino viena kitą. Jei klasė turi kitos klasės išsamią informaciją, yra stiprus ryšys. „Java“ sistemoje naudojame privačius, apsaugotus ir viešuosius modifikatorius, kad parodytume klasės, metodo ir lauko matomumo lygį. Galite naudoti sąsajas silpnesniam ryšiui, nes nėra konkretaus įgyvendinimo.
Sanglauda
Sanglauda reiškia komponento, kuris atlieka vieną tiksliai apibrėžtą užduotį, lygį. Viena tiksliai apibrėžta užduotis atliekama labai suderintu metodu. Silpnai rišlus metodas suskaidys užduotį į atskiras dalis. „Java.io“ paketas yra labai vientisas paketas, nes jame yra su įvesties / išvesties klases ir sąsaja. Tačiau java.util paketas yra silpnai vientisas paketas, nes jame yra nesusijusių klasių ir sąsajų.
asociacija
Asociacija reiškia santykį tarp objektų. Čia vienas objektas gali būti susietas su vienu objektu arba daugybe objektų. Gali būti keturių tipų susiejimas tarp objektų:
- Vienas prieš vieną
- Vienas prie daugelio
- Daugelis į vieną, ir
- Daug prie daugelio
Supraskime santykį realiuoju laiku pateikiamais pavyzdžiais. Pavyzdžiui, viena šalis gali turėti vieną ministrą pirmininką (vienas prieš vieną), o ministras pirmininkas gali turėti daug ministrų (nuo vieno iki daugelio). Be to, daugelis parlamentarų gali turėti vieną ministrą pirmininką (daugelis prieš vieną), o daugelis ministrų gali turėti daug departamentų (daugelis iki daugelio).
Asociacija gali būti vienakryptė arba dvikryptė.
Sujungimas
Agregavimas yra būdas sukurti asociaciją. Agregacija reiškia ryšį, kai viename objekte yra kiti objektai kaip jo būsenos dalis. Tai rodo silpną ryšį tarp objektų. Jis taip pat vadinamas a turi santykiai Java. Pavyzdžiui, paveldėjimas reiškia yra santykiai. Tai dar vienas būdas pakartotinai panaudoti objektus.
Sudėtis
Kompozicija taip pat yra būdas pasiekti asociaciją. Kompozicija reprezentuoja santykį, kai viename objekte yra kiti objektai kaip jo būsenos dalis. Tarp turinčio objekto ir priklausomo objekto yra stiprus ryšys. Tai būsena, kai turintys objektai neturi savarankiško egzistavimo. Jei ištrinsite pirminį objektą, visi antriniai objektai bus ištrinti automatiškai.
OOP pranašumas prieš į procedūras orientuotą programavimo kalbą
1) OOP palengvina kūrimą ir priežiūrą, o į procedūras orientuotoje programavimo kalboje nėra lengva valdyti, jei kodas auga didėjant projekto dydžiui.
2) OOP užtikrina duomenų slėpimą, o naudojant į procedūras orientuotą programavimo kalbą, visuotinius duomenis galima pasiekti iš bet kurios vietos.
Paveikslas: Duomenų vaizdavimas į procedūras orientuotame programavime
Paveikslas: Duomenų vaizdavimas objektiniame programavime
3) OOP suteikia galimybę daug efektyviau imituoti realaus pasaulio įvykius. Mes galime pasiūlyti tikrosios tekstinės problemos sprendimą, jei naudojame objektinio programavimo kalbą.
c# sąrašas
Kuo skiriasi objektinio programavimo kalba nuo objektinio programavimo kalbos?
Objektinė programavimo kalba atitinka visas OOP funkcijas, išskyrus paveldėjimą. JavaScript ir VBScript yra objektinio programavimo kalbų pavyzdžiai.
Ar tu žinai?
- Ar galime perkrauti pagrindinį metodą?
- „Java“ konstruktorius grąžina vertę, bet ką?
- Ar galime sukurti programą be pagrindinio metodo?
- Kokie yra šeši šio raktinio žodžio naudojimo būdai?
- Kodėl Java nepalaikomas daugialypis paveldėjimas?
- Kodėl naudoti agregaciją?
- Ar galime nepaisyti statinio metodo?
- Kas yra kovariantinio grąžinimo tipas?
- Kokie yra trys Java super raktinio žodžio naudojimo būdai?
- Kodėl verta naudoti egzempliorių inicijavimo bloką?
- Kam naudojamas tuščias galutinis kintamasis?
- Kas yra žymeklis arba pažymėta sąsaja?
- Kas yra vykdymo laiko polimorfizmas arba dinaminis metodo išsiuntimas?
- Kuo skiriasi statinis ir dinaminis įrišimas?
- Kaip „Java“ galima sumažinti sumažinimą?
- Koks yra privataus konstruktoriaus tikslas?
- Kas yra objektų klonavimas?
- OOP pranašumas
- Įvardijimo konvencija
- Objektas ir klasė
- Metodo perkrova
- Konstruktorius
- statinis raktinis žodis
- šis raktinis žodis su šešių vartojimu
- Paveldėjimas
- Agregacija
- Metodo nepaisymas
- Kovariantinis grąžinimo tipas
- super raktažodis
- Egzempliorių inicijavimo blokas
- galutinis raktinis žodis
- Abstrakti klasė
- Sąsaja
- Vykdymo laiko polimorfizmas
- Statinis ir dinaminis įrišimas
- Sumažinimas naudojant instanceof operatorių
- Paketas
- Prieigos modifikatoriai
- Inkapsuliavimas
- Objektų klonavimas