Vor fi mai multe teme de casa. La 1/2 din temele de casa se va lua 10. Temele se vor preda la cursul urmator.
In POO sunt 3 principii de baza:
Principiul incapsularii: datele si metodele impreuna. Accesul la acestea se face controlat prin niste specificatori de acces. Avem uramatorii specificatori de acces :
Private – acces doar din clasa respectiva
Public – acces din orice alta clasa
Default (fara nimic specificat in fata variabilei) – acces din clasa respective si din clasele din acelasi pachet cu clasa respectiva
Protected – legat de mostenire
In general se recomanda ca variabilele de instanta sa fie prívate si accesul la ele sa se faca prin metode publice.
Exemplu
class student
private string nume;
private double medie;
public student (string nume, double medie)
this.nume=nume;
this.medie=medie;
public void setNume(String nume)
this.nume=nume
public string getNume()
return nume
Exemple elementare de apelat metode din afara unei calse.
In afara clasei student sa apelam
public static void main(String args[])
//public void setName(String nume)
//1. creez obiecte
Student st = new student ("popescu ion",7.5);
//2. daca nu returneaza nimic --> obiect.numeMetoda(lista parametrii)
st.setNume("Popescu Ion vasile");
//2. daca retruneaza un rezultat--> rezultat=obiect.numeMetoda(lista de parametrii)
string rezultat=st.getNume();
In cazul metodelor statice nu mai este nevoie sa instantiem un obiect, ci se apeleaza direct cu sintaxa Nume clasa.Nume metoda.
Exemplu: In clasa Math metoda sqrt. (public static sqrt(double))
Se apelaza cu sintaxa : double x=Math.sqrt(17.5)
Mostenirea legata de programarea prin diferente si construim o clasa noua pe baza unei clase existente modificand-o pe aceasta. Pentru a vedea daca putem mosteni o anumita clasa trebuie ca intre clasa derivata si clasa de baza sa fie o relatie de tipul “is a”.
Exemplu:
Avem clasele: Mamifer, Student, Fruct, Masina si vreau sa scriu clasa Mar.
class Mar extends Fruct
In clasa derivata nu se mostenesc variabilele de instanta sau metodele prívate. Se mostenesc campurile ce au specificatorii de acces public sau protected. Deasemenea se mostenesc si campurile default. Nu se mostenesc constructori. In clasa derivata se pot adauga noi variabile de instanta si noi metode si de asemenea se pot redefini metode existente ale clasei de baza.
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.