Documente Academic
Documente Profesional
Documente Cultură
Clasele abstracte
@Override
public void show() {
}
}
}
public class Freshman extends Student {
@Override
public void show() {
//logic goes here
}
}
Interfeţele
Exerciţii
Exerciţiul nr. 1
Rezolvare:
//Clasa Produs
public abstract class Product {
//Declararea variabilelor
public int type;
public String name;
public double price;
public String[] additions;
public abstract double countPrice();
//Suprascrierea metodei toString
@Override
public String toString() {
//Fiindcă se execută concatenarea stringului, cea mai eficientă variantă este folosirea clasei S
tringBuilder
StringBuilder output = new StringBuilder();
//Se adaugă date despre produs. this.name va fi atribuită constructorului.
//De asemenea, şi preţul va fi atribuit în constructor, însă acesta nu se scrie direct,
//ci se procesează prim metoda calculare preţ
//(această metodă va fi scrisă mai târziu la nivelul clasei copil,
//deoarece fiecare clasă copil are propria cotă de impozitare)
output.append("Produs: ");
p.addition("castravete");
p.addition("ceapă");
p.addition("roşii");
//Afişarea claselor Pizza şi Sendviş
System.out.println(p);
System.out.println(s);
}
}
Soluţie simplificată:
Clasa Product
@Override
public String toString() {
return "Produs: " + this.name + ", " + "preţ: " + countPrice() + ", " + "adaosuri: " + allAdditions
();
}
if (output.equals("")) {
output += ("fără adaosuri");
}
return output;
}
Clasa Sendviş:
Clasa Pizza:
Clasa principală:
s.addition("castravete");
s.addition("ceapă");
s.addition("roşii");
System.out.println(p);
System.out.println(s);
Exerciţiul nr. 2
Rezolvare:
interface IGeom {
int area();
int perimeter();
}
public int y;
public int a;
public abstract void setxya(int x, int y, int a);
}
@Override
public int perimeter() {
return 4*this.a;
}
@Override
public void setxya(int x, int y, int a) {
this.x = x;
this.y = y;
this.a = a;
}
}
public class Main {
public static void main(String[] args) {
Square s = new Square();
s.setxya(100, 100, 5);
System.out.println(s.area());
System.out.println(s.perimeter());
}
}
Exerciţiul nr. 3
Rezolvare:
c.setOperands(2, 3);
System.out.println(c.add());
System.out.println(c.sub());
}
}