Metody – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Metody – Java – Fórum – Programujte.comMetody – Java – Fórum – Programujte.com

 

Erik
~ Anonymní uživatel
101 příspěvků
16. 10. 2012   #1
-
0
-

   

* Vytvořte třídu MyInstructios </code>, která bude potomkem této abstraktní třídy. Ten
 * Překrývat metodu {@link #instructionOne()}
 * Přetíží metodu {@link #instructionTwo()}  
 
public abstract class Instructions {

* Překrujte tuto metodu tak, aby vracela hodnotu překryté funkce v kulatých závorkách.
	public String instructionOne() {
		return "instructionOne";

* Přetěžte tuto metodu tak:
aby vracela hodnotu původní přetížené metody zopakovanou podle int hodnoty jediného parametru.
aby přetížená metoda měla proměnný počet parametru typu String a její návratová hodnota se rovnala jejich zřetězení. 
	
	public String instructionTwo() {
		return "instructionTwo";
	}

Public class MyInstructions extends Instructions {
	
	Public String instructionOne(){
		Return “instructionOne”
}

Public String instructionTwo(){

}

}

Prosím poradíte někdo máme taková nejasná zadání....

Nahlásit jako SPAM
IP: 195.178.73.–
TheOndrap+2
Super člen
17. 10. 2012   #2
-
0
-

Co je na tom nejasného?

Přepíšeš -> bude dělat to co cheš ty v té dědící třídě, k původní "zděděné" metodě se dostaneš pomocí super.instructionOne();

@Override
public String instructionOne() {
	return "("+super.instructionOne()+")";
}

Přetěžování -> metody se musí lišit, mohou mít stejný název, ale musí se lišit počtem/typy param, případně jejich návratové hodnoty musí být jiných typů atd.

Proměnná délka parametrů -> String...param . Chová se to jako pole

    public String instructionTwo(int param){
        String retVal="";
        for (int i=0; i<param; i++){
            retVal += super.instructionTwo();
        }
        return retVal;
    }
    
    public String instructionTwo(String...param){
        String retVal = "";
        for(int i=0; i<param.length; i++){
            retVal += param[i];           
        }
        return retVal;
    }

Nevím jesti je to správně, přišel jsem z hospody a neměl co dělat, ale myslím že by to mohlo být OK .. možná že jsou nějaký lpší metody pro práci se String než to moje spojování, ale snad by to mohlo fungovat :)

Nahlásit jako SPAM
IP: 147.228.209.–
ZČU v Plzni je mnohem víc, než jenom právnická fakulta !!
Fakulta aplikovaných věd www.fav.zcu.cz
"Když nedokážete říci věci jednoduše, pak jim dostatečně nerozumíte"
ingiraxo+15
Grafoman
17. 10. 2012   #3
-
0
-

jen bych opravil, že přetížená funkce se MUSÍ lišit jen počtem, případně typem parametrů, ale název funkce a jeji návratová hodnota MUSÍ být stejná

jink správně by to mělo být takto, nebo aspoň já bych to tak dělal :) 

public class MyInstructions extends Instructions {

    @Override
    public String instructionOne() {
        return "(" + super.instructionOne() + ")";
    }

    public String instructionTwo(int pocet) {
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < pocet; i++) {
            sb.append(super.instructionTwo()).append("\n");
        }
        return sb.toString();
    }

    public String instructionTwo(String... params) {
        if (params == null) {
            return null;
        }
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < params.length; i++) {
            sb.append(i).append(") ").append(params[i]).append("\n");
        }
        return sb.toString();
    }
}

vzhledem k té třídě by bylo lepší ten StringBuilder dát přímo do třídy instrukce a použít ho jako buffer... ale pro ilustraci to takto stačí

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
TheOndrap+2
Super člen
17. 10. 2012   #4
-
0
-

:D když si to čtu ted, tak ta moje definice přetížený metody je fakt ubohá :D dík za opravu

Nahlásit jako SPAM
IP: 147.228.209.–
ZČU v Plzni je mnohem víc, než jenom právnická fakulta !!
Fakulta aplikovaných věd www.fav.zcu.cz
"Když nedokážete říci věci jednoduše, pak jim dostatečně nerozumíte"
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Metódy — založil fraus

Přístupové Metody — založil Jakub Sosnovec

Zavolání metody — založil Pavel

Triedy a metódy — založil WhatsThiSs

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý