OOP Concepts in Java

Co to jest OOPS?
System programowania obiektowego (OOP) jest koncepcjฤ programowania, ktรณra dziaลa na zasadach abstraccja, hermetyzacja, dziedziczenie i polimorfizm. Pozwala uลผytkownikom tworzyฤ obiekty, ktรณrych potrzebujฤ , i tworzyฤ metody do obsลugi tych obiektรณw. Podstawowฤ koncepcjฤ programowania obiektowego (OOP) jest tworzenie obiektรณw, ponowne ich wykorzystywanie w caลym programie i manipulowanie nimi w celu uzyskania rezultatรณw.
OOP, czyli โprogramowanie obiektoweโ, jest popularnie znanฤ i szeroko stosowanฤ koncepcjฤ we wspรณลczesnych jฤzykach programowania, takich jak Java.
OOP Concepts in Java z przykลadami
Poniลผej przedstawiono ogรณlne koncepcje programowania obiektowego Java:
1) Klasa
klasa jest jednym z podstawowych pojฤฤ OOP, ktรณre jest grupฤ podobnych bytรณw. Jest to tylko logiczny skลadnik, a nie byt fizyczny. Zrozumiemy to jedno z OOP Concepts na przykลad, jeลli masz klasฤ o nazwie โDrogie samochodyโ, moลผe ona zawieraฤ obiekty takie jak Mercedes, BMW, Toyota itp. Jej wลaลciwoลciami (danymi) mogฤ byฤ cena lub prฤdkoลฤ tych samochodรณw. Chociaลผ metody te mogฤ byฤ wykonywane w przypadku tych samochodรณw, obejmujฤ jazdฤ, bieg wsteczny, hamowanie itp.
2) Przedmiot
Obiekt moลผna zdefiniowaฤ jako instancjฤ klasy, a w programie moลผe istnieฤ wiele instancji klasy. Obiekt jest jednym z Java Koncepcje OOPs, ktรณre zawierajฤ zarรณwno dane, jak i funkcjฤ, ktรณra dziaลa na danych. Na przykลad โ krzesลo, rower, marker, dลugopis, stรณล, samochรณd itp.
3) Dziedziczenie
Dziedzictwo jest jednym z podstawowych Concepts OOP, w ktรณrych jeden obiekt przejmuje wลaลciwoลci i zachowania obiektu nadrzฤdnego. Tworzy relacjฤ rodzic-dziecko pomiฤdzy dwiema klasami. Oferuje solidny i naturalny mechanizm organizacji i struktury dowolnego oprogramowania.
4) Polimorfizm
Wielopostaciowoลฤ odnosi siฤ do jednego z pojฤฤ OOP w Java czyli zdolnoลฤ zmiennej, obiektu lub funkcji do przyjmowania wielu form. Na przykลad w jฤzyku angielskim czasownik biegaฤ ma inne znaczenie, jeลli uลผyjesz go z laptop, wyลcig stรณp, biznes. Tutaj rozumiemy znaczenie biegaฤ w oparciu o inne sลowa uลผyte wraz z nim. To samo tyczy siฤ polimorfizmu.
5) Miฤลnie brzuchatraccja
Abstraccja jest jednym z OOP Concepts in Java ktรณry jest aktem reprezentowania istotnych cech bez uwzglฤdniania szczegรณลรณw tลa. Jest to technika tworzenia nowego typu danych, ktรณry jest odpowiedni dla konkretnej aplikacji. Zrozumiemy to jedno z OOP Concepts np. prowadzฤ c samochรณd nie musisz martwiฤ siฤ o jego wewnฤtrzne dziaลanie. Tutaj musisz tylko zajฤ ฤ siฤ czฤลciami takimi jak kierownica, przekลadnie, pedaล gazu itp.
6) Hermetyzacja
Kapsuลkowanie jest jednฤ
z najlepszych Java Koncepcje OOPs dotyczฤ
ce zawijaniaping Dane i kod. W tej koncepcji OOP zmienne klasy sฤ
zawsze ukryte przed innymi klasami. Dostฤp do nich jest moลผliwy tylko za pomocฤ
metod bieลผฤ
cej klasy. Na przykลad โ w szkole uczeล nie moลผe istnieฤ bez klasy.
7) Stowarzyszenie
Stowarzyszenie to relacja pomiฤdzy dwoma obiektami. To jeden z OOP Concepts in Java ktรณry okreลla rรณลผnorodnoลฤ pomiฤdzy obiektami. W tej koncepcji OOP wszystkie obiekty majฤ swรณj odrฤbny cykl ลผycia i nie ma wลaลciciela. Na przykลad wielu uczniรณw moลผe powiฤ zaฤ siฤ z jednym nauczycielem, a jeden uczeล moลผe takลผe powiฤ zaฤ siฤ z wieloma nauczycielami.
8) Agregacja
W tej technice wszystkie obiekty majฤ swรณj oddzielny cykl ลผycia. Istnieje jednak wลasnoลฤ, tak ลผe obiekt podrzฤdny nie moลผe naleลผeฤ do innego obiektu nadrzฤdnego. Na przykลad rozwaลผ klasฤ/obiekty department i teacher. Tutaj pojedynczy nauczyciel nie moลผe naleลผeฤ do wielu departmentรณw, ale nawet jeลli usuniemy department, obiekt teacher nigdy nie zostanie zniszczony.
9) Skลad
Kompozycja jest wyspecjalizowanฤ formฤ agregacji. Nazywa siฤ to takลผe zwiฤ zkiem โลmierciโ. Obiekty podrzฤdne nie majฤ swojego cyklu ลผycia, wiฤc gdy obiekt nadrzฤdny zostanie usuniฤty, wszystkie obiekty podrzฤdne rรณwnieลผ zostanฤ usuniฤte automatycznie. W tym celu weลบmy przykลad domu i pokoi. Kaลผdy dom moลผe mieฤ kilka pokoi. Jeden pokรณj nie moลผe staฤ siฤ czฤลciฤ dwรณch rรณลผnych domรณw. Jeลli wiฤc usuniesz, pokรณj w domu rรณwnieลผ zostanie usuniฤty.
Zalety OOP (systemu programowania obiektowego):
- OOP Concepts in Java oferujฤ ลatwฤ do zrozumienia i przejrzystฤ strukturฤ moduลowฤ programรณw.
- Obiekty utworzone dla programรณw obiektowych moลผna ponownie wykorzystaฤ w innych programach. W ten sposรณb oszczฤdza znaczne koszty rozwoju.
- Pisanie duลผych programรณw jest trudne, ale jeลli zespรณล programistรณw i projektantรณw stosuje koncepcjฤ OOPS, mogฤ oni projektowaฤ lepiej, unikajฤ c bลฤdรณw.
- Zwiฤksza to moduลowoลฤ programu, poniewaลผ kaลผdy obiekt istnieje niezaleลผnie.
Porรณwnanie OOPS z innymi stylami programowania na przykลadzie
Rozumiemy na przykลadzie, jak Java OOP Concepts rรณลผniฤ siฤ od innych podejลฤ do programowania.
Jฤzyki programowania moลผna podzieliฤ na 3 podstawowe typy
- Niestrukturalne jฤzyki programowania: Najbardziej prymitywny ze wszystkich jฤzykรณw programowania, charakteryzujฤ cy siฤ sekwencyjnym przepลywem sterowania. Code powtarza siฤ w caลym programie
- Strukturalne jฤzyki programowania: Ma niesekwencyjny przepลyw kontroli. Uลผycie funkcji pozwala na ponowne wykorzystanie kodu.
- Obiektowe jฤzyki programowania: ลฤ czy dane i dziaลanie razem.
Kliknij w tym miejscu jeลli film nie jest dostฤpny
Rozumiemy te 3 typy na przykลadzie.
Zaลรณลผmy, ลผe chcesz stworzyฤ oprogramowanie bankowe z funkcjami takimi jak
- Depozyt
- Wypลaty
- Pokaลผ saldo
Niestrukturalne jฤzyki programowania
Najwczeลniejszym ze wszystkich jฤzykรณw programowania byล niestrukturalny jฤzyk programowania. Bardzo podstawowy kod aplikacji bankowej w nieustrukturyzowanym jฤzyku programowania bฤdzie miaล dwie zmienne jednego numeru rachunku i drugiej dla salda konta
int account_number=20; int account_balance=100;
Zaลรณลผmy, ลผe dokonano wpลaty w wysokoลci 100 dolarรณw.
account_balance=account_balance+100
Nastฤpnie musisz wyลwietliฤ saldo konta.
printf(โAccount Number=%d,account_number) printf(โAccount Balance=%d,account_balance)
Teraz kwota 50 dolarรณw zostaลa wycofana.
account_balance=account_balance-50
Ponownie musisz wyลwietliฤ saldo konta.
printf(โAccount Number=%d,account_number) printf(โAccount Balance=%d,account_balance)
Przy kaลผdej kolejnej operacji wpลaty lub wypลaty bฤdziesz musiaล wielokrotnie powtarzaฤ te same linijki kodu.
Programowanie strukturalne
Wraz z pojawieniem siฤ programowania strukturalnego powtarzajฤ ce siฤ linie kodu zostaลy umieszczone w strukturach takich jak funkcje lub metody. Jeลli zajdzie taka potrzeba, wykonywane jest proste wywoลanie funkcji.
Programowanie obiektowe
W naszym programie zajmujemy siฤ danymi lub wykonujemy okreลlone operacje na danych. W rzeczywistoลci posiadanie danych i wykonywanie okreลlonych operacji na tych danych jest bardzo podstawowฤ cechฤ kaลผdego programu. Eksperci w programowaniu oprogramowania pomyลleli o poลฤ czeniu danych i Operations. Dlatego narodziลo siฤ Programowanie Obiektowe, ktรณre jest powszechnie nazywane OOPS. Ten sam kod w jฤzykach programowania obiektowego bฤdzie miaล te same dane i pewne dziaลania wykonywane na tych danych.
Class Account{
int account_number;
int account_balance;
public void showdata(){
system.out.println(โAccount Numberโ+account_number)
System.out.println(โAccount Balanceโ+ account_balance)
}
}
ลฤ czฤ c dane i dziaลanie, uzyskamy wiele zalet w porรณwnaniu z programowaniem strukturalnym, takich jak:
- Abstraccja
- Kapsuลkowanie
- Dziedzictwo
- Wielopostaciowoลฤ
Sฤ one omรณwione bardziej szczegรณลowo w kolejnych samouczkach



