1. fotoaparati
  2. Car Audio & Electronics
  3. Home Audio
  4. Osobni Audio
  5. TV
  6. Pametna kuća
  >> Hrvatska Electronic Technology >  >> Pametna kuća >> Pametan život

Prednosti i nedostaci metode preopterećenja u Javi

Preopterećene metode su metode u istoj klasi koje dijele isto ime, ali prihvaćaju različite tipove varijabli kao argumente. Na primjer, klasa može sadržavati dvije različite metode "add":jednu koja prihvaća dvije dvostruke vrijednosti, "add(double a, double b)", i jednu koja prihvaća dvije cjelobrojne vrijednosti, "add(int a, int b). " Računalo automatski odlučuje koju će metodu pozvati tijekom izvođenja na temelju tipova varijabli koje se prosljeđuju metodi.

Fleksibilnost

Preopterećene metode programerima daju fleksibilnost pozivanja slične metode za različite vrste podataka. Ako, na primjer, radite na matematičkom programu, možete upotrijebiti preopterećenje za stvaranje nekoliko klasa "množenja", od kojih svaka množi različiti broj tipa argumenta:najjednostavniji "množenje (int a, int b)" množi dva cijeli brojevi; kompliciranija metoda "multiply(double a, int b, int c)" množi jedan double s dva cijela broja -- tada možete pozvati "multiply" na bilo kojoj kombinaciji varijabli za koju ste stvorili preopterećenu metodu i dobiti ispravan rezultat.

Konstruktori

Preopterećenje se također koristi na konstruktorima za stvaranje novih objekata s različitim količinama podataka. Na primjer, možete koristiti preopterećenje za stvaranje tri različita konstruktora za objekt "Kuća" s kućnim brojem, nazivom ulice i varijablama boje. Najjednostavniji konstruktor "House()" ne uzima argumente i stvara kuću sa zadanim ili praznim varijablama. Složeniji konstruktor, "House(int houseNumber, String streetName)," stvara kuću s navedenim kućnim brojem i nazivom ulice, ali zadanom ili praznom bojom. Najsloženiji konstruktor, "House(int houseNumber, String StreetName, String color)," stvara kuću sa svim navedenim informacijama, ne ostavljajući ništa kao zadano. Zatim možete stvoriti objekt kuće na temelju trenutno dostupnih informacija, s nedostupnim informacijama ostavljenim praznima ili prema zadanim postavkama.

Dvosmislene reference

Preopterećene metode moraju koristiti različite brojeve ili vrste argumenata kako bi se izbjegla dvosmislenost. Ako stvorite dvije metode u istoj klasi koje imaju isto ime i prihvaćaju dva cijela broja kao argumente, Java prevoditelj neće moći razlikovati između njih, čak i ako ulazne varijable imaju različita imena. Na primjer, metoda "add(int a, int b)" ne može postojati u istoj klasi kao metoda "add(int c, int d)."

Vrste povrata

Morate definirati vrstu povrata za svaku preopterećenu metodu. Metode mogu imati različite vrste povrata -- na primjer, "add(int a, int b)" može vratiti cijeli broj, dok "add(double a, double b)" vraća double. Međutim, Java ne može razlikovati dvije različite metode na temelju njihovog povratnog tipa. Stoga, "int multiply(double a, double b)" ne može postojati u istoj klasi kao "double multiply(double a, double b)."


  1. Prednosti i nedostaci frakcijskom destilacijom
  2. Prednosti & Nedostaci mobilnom internetu
  3. Prednosti i nedostaci GoToMeetinga
  4. Prednosti i nedostaci Java virtualnih strojeva
  5. Prednosti i nedostaci glavnih računala