Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 11 odgovora
  • 4.522 pregleda

Najnovija ↓

Definisanje metoda i nasledjivanje... 30.01.2014. u 17:27 · pre 155 meseci #1
Pozdrav, evo dacu prvo jedan kod kao primer, u pitanju su glavna i izvedena klasa....

Code:
public class Automobili extends Vozila{
    
    public static void unosGodista(int g){
        godiste=g;    
    }
      public static Integer getGodiste(){
        return godiste;        
    }
}

Code:
public class Vozila {
    static Integer godiste;
    public static void main(String[] args) {
        Automobili.unosGodista(2005);
        System.out.println("Godiste: " + Automobili.getGodiste());
    }
}


E sad, ovo radi ali nije mi par stvari jasno.
1. Zasto kada u glavnoj klasi definisem varijablu godiste mora da stoji static , inace u klasi Automobili javlja gresku?

2.Isto tako kod metode getGodiste mora da stoji static ako izbacim static javlja gresku . Da li sa static definisemo da data metoda bude vidljiva u celoj klasi tj. metoda cele klase a samim tim i u glavnoj klasi odakle se poziva??? Isto tako je i sa metodom unosGodista...

3. Zasto ako napravim novi objekat klase, nesto tipa Automobili a = new Automobili() u klasi Automobili i pozovem metodu a.unosGodista u main() metodi javlja gresku a kada uradim ovako onda sve funkcionise ...

Code:
public class Vozila {
    static Integer godiste;
    public static void main(String[] args) {
        Automobili a=new Automobili();
        a.unosGodiste(2005);
        System.out.println("Godiste: " + a.getGodiste());
    }
}



Re: Definisanje metoda i nasledjivanje... 30.01.2014. u 18:21 · pre 155 meseci #2
Moras da imas static zato sto pozivs ClassName.variableName ili ClassName.methodName()

Da bi ovo lakse resio lepo bi bilo kad bi imao nesto ovako


Code:


class ClassName{
    int godiste;  ///za svaku promenljuvu ubaci get i set pogledaj  http://stackoverflow.com/quest...utorial-on-getters-and-setters
    public void setGodiste(int god){
       this.godiste = god;
    }

    public int getGodiste() {
        return this.godiste;
    }

}



Re: Definisanje metoda i nasledjivanje... 30.01.2014. u 18:53 · pre 155 meseci #3
Hvala, to sam zeleo kao sto si napisao u kodu this.godiste mi je trebalo ijako sam pokusao jednom na taj nacin ali ne znam zasto nije proslo, uglavnom sada radi kako treba. Prosiricu zadatak sa svim sto mi padne na pamet pa ako negde zapne javim....
Re: Definisanje metoda i nasledjivanje... 30.01.2014. u 21:56 · pre 155 meseci #4
U vezi ovog zadata, prosirio sam ga i sada imam problem slican kao prvi put , kada pozovem metod iz main() metode kaze da promenim metodu novoVozilo u static a u drugom slucaju gde pozovem a.prikaz() objekat "a" se ne prepoznaje uopste, ne mogu nigde po internetu da nadjem resenje kada naidjem na takav problem a zadatak sam smisljam pa nema resenje da bi pogledao...

Inace generalno jeli kod OK , jesam na pravom putu razmisljanja po ovom zadatku ili treba nesto da menjam . Verovatno moze jednostavnije ali sam hteo namerno da imam glavnu klasu, drugu izvedenu klasu , metode iz jedne da pozivam u drugoj , kasnije prosiriti sa jos nekom klasom i novim objektima i metodama,trenutno su mozda neke metode visak ali kasnije ce sigurno trebati ...

Evo koda od podklase
Code:
package Vozila;

import java.util.Scanner;

public class Automobili extends Vozila{
    Scanner scan=new Scanner(System.in);
    
    public Automobili(Integer godiste,String marka,String model,Integer motor,String boja){}
    Automobili a=new Automobili(godiste,marka,model,motor,boja);
    
    public void novoVozilo(Scanner scan){
        System.out.println("Godiste vozila: ");
        this.godiste=scan.nextInt();
        System.out.println("Marka Vozila: ");
        this.marka=scan.nextLine();
        System.out.println("Model Vozila: ");
        this.model=scan.nextLine();
        System.out.println("Kubikaza motora: ");
        this.motor=scan.nextInt();
        System.out.println("Boja Vozila: ");
        this.boja=scan.nextLine();
    }
    public void unosGodiste(int g){
        this.godiste=g;    
    }
     public Integer getGodiste(){
        return this.godiste;    
    }
     public void unosModela(String mod){
         this.model=model;         
     }
     public void markaAuta(String mar){
         this.marka=mar;
     }
     public String getMarka(){
         return this.marka;
     }
     
     public String getModel(){
         return this.model;
     }
    public void unosBoje(String b){
        this.boja=b;
    }
    public String getBoja(){
        return this.boja;
    }
    public void unosMotora(Integer mot){
        this.motor=mot;
    }
    public Integer getMotor(){
        return this.motor;
    }
    public void prikaz(){
        System.out.println("Vozilo je "+a.getMarka()+" "+a.getModel()+" "+a.getGodiste()+". godiste");
        System.out.println("Vozilo ima motor od "+a.getMotor()+" kubika i boja vozila je "+a.getBoja());
    }
}



U podklasi ne prijavljuje mi nijednu gresku,kao da je sve ok. Ali verovatno nesto nisam dobro definisao posto mi ne radi poziv metoda u glavnoj klasi.... Ima neko ideju gde greska?

Code:
import java.util.Scanner;

public class Vozila {
    Integer godiste;
    String boja;
    String marka;
    String model;
    Integer motor;
    
    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
          System.out.println("Unesi podatke vozila: ");
          
        Automobili.novoVozilo(sc);
        a.prikaz();
        }
    }
Re: Definisanje metoda i nasledjivanje... 31.01.2014. u 15:32 · pre 155 meseci #5
Pokusavao sam sa nekim resenjima ali nervira me sto sve moram da dafinisem kao static da bi radilo a verovatno ne mora i predpostavljam da bi kasnije ako bi bio veci zadatak imao problem oko definisanja. Na primer ovo sada radi ali sve varijable u glavnoj klasi sam morao da definisem kao static , jel to mora tako jer nigde to do sada nisam procitao da se tako radi a nisam ni video. Ako ovo nije ispravno,mada radi, trazicu novo resenje...

Code:
import java.util.Scanner;

public class Vozila {
    static Integer godiste;
    static String boja;
    static String marka;
    static String model;
    static Integer motor;
    
    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
        Automobili a=new Automobili(godiste,marka,model,motor,boja);
          System.out.println("Unesi podatke vozila: ");
          
        a.novoVozilo(sc);
        a.prikaz();
        }
    }
Re: Definisanje metoda i nasledjivanje... 01.02.2014. u 10:26 · pre 155 meseci #6
Elem, iz tvog pitanja se vidi koliko NE razumes relaciju klasa i objekata/instanci klase.
Da ti ne bismo sad objasnjavali nadugacko i nasiroko, vrati se na tutorijal iz kog si ucio javu i pronadji deo "Klase i objekti" (tako nekako) i temeljno prouci ponovo. Ako mislis da ti taj tutorijal nece pomoci, reci i bacim ti link na kojem je tematika DOBRO objasnjena.

Pozz
Re: Definisanje metoda i nasledjivanje... 01.02.2014. u 10:39 · pre 155 meseci #7
Napisi link koji imas, ucim i sigurno ce mi biti dosta nejasnoca ali preko tutorijala iz kojeg sam ucio nisam mogao da nadjem problem i resenje i vec sam nasao nove knjige i tutorijale ali napisi link koji imas, mozda ce mi pomoci vise od ostalih.
U svakom slucaju hvala...
Re: Definisanje metoda i nasledjivanje... 02.02.2014. u 11:41 · pre 155 meseci #9
Hvala nemnesic... bitno mi je da vidim da neko ima na forumu ko ce i da pomogne i konkretno napise smernicu za problem pa bar i u par reci i u vidu linka. Tu knjigu u pdf formatu vec imam ali hvala u svakom slucaju....
Re: Definisanje metoda i nasledjivanje... 05.02.2014. u 15:43 · pre 155 meseci #10
Izvini, nije me bilo na forumu, evo linka: http://docs.oracle.com/javase/tutorial/java/javaOO/index.html .

Ako ti slucajno i ovde nesto bude nejasno, idi na pocetni link: http://docs.oracle.com/javase/tutorial/java/concepts/object.html , pa redom.

Lekcije (kako ja kazem: porcije ;) ) su vrlo dobro osmisljene, kako velicinom tako i tezinom, i uz lagano citanje i (malo) vezbanja, savladaces/razumeces bez po muke javu. Mene je u svakom slucaju ocarala :).

Pozz
Sviđa mi se1
Re: Definisanje metoda i nasledjivanje... 05.02.2014. u 18:42 · pre 155 meseci
izmenjeno 1 put, poslednji put casperns2 05.02.2014. u 19:58
  1. casperns205.02.2014. u 19:58zapis iz teksta poruke
#11
Hvala.... bice sigurno od koristi ...

Inace problem kod ovog zadatka sto sam imao oko definisanje objekata i izvedenih klasi resio sam, sada radi sve kako treba-sutradan kada sam seo bukvalno za 2 min sam ispravio sve i odmah skontao gde problem.
Zadatak sam opet prosirio i ubacujem nove metode i nove klase , trenutno sam zaglavio oko nekog drugog problema , ako ne uspem da ga resim posle jos par tutorijala koje planiram da procitam javljam se za pomoc...
Re: Definisanje metoda i nasledjivanje... 05.02.2014. u 22:10 · pre 155 meseci #12
Baci ga ovde odmah, nemoj da se mucis ;), sto da lupas glavu i trosis energiju dzabe. Ti svoje (ucenje) svakako moras da prodjes sam, ali nema potrebe da lutas.

Pozz
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme