Sunteți pe pagina 1din 4

Ministerul Educaţiei al Republicii Moldova

Universitatea Tehnica a Moldovei


Facultatea Calculatoare Informatică și Microelectronică

Raport
Lucrare de laborator Nr.2
Disciplina: Tehnici avansate de programare

A efectuat: A verificat: l.s.


Rotaru L.

Chişinau 2018

Scopul lucrării:
 Însuşirea principiilor de supraîncărcare a metodelor şi realizarea lor;
 Însuşirea principiilor de suprascriere a metodelor şi realizarea lor;

3. Etapele de realizare:
a) Crearea metodelor supraîncărcate;
b) Crearea metodelor suprascrise;
c) Utilizarea metodelor supraîncărcate în superclase şi subclase;
d) Utilizarea metodelor suprascrise;
e) Crearea interfeţii programului;
f) Prezentarea lucrării.

Varianta: 4
Sa se creeze obiectul clasa «Text», folosind clasa «Pagina».

Mersul lucrării:

Listingul programului:
import java.util.Scanner;

public class Main {

public static void main(String[] args) {


int n;
char c;
Scanner S = new Scanner(System.in);
Pagina P = new Pagina();
P.innit();
P.lenght(P.text);
System.out.println("Introduceti lungimea cuvantului: ");
n = S.nextInt();
P.lenght(n);
System.out.println("Introduceti caracterul: ");
c = S.next().charAt(0);
P.lenght(c);

Text T = new Text();


T.innit();

}
}

class Pagina{
Text text;
Pagina(){}

void innit(){
Scanner S = new Scanner(System.in);
System.out.println("Introduceti textul:");
text = new Text(S.nextLine());
}

void lenght(Text T){


System.out.println("Lungimea textului este: " + T.lenght() + " caractere.");
}

void lenght(char C){


String t = text.Get_text();
int Nr = 0;
for (int i = 0; i < t.length(); i++){
if (t.charAt(i) == C ){
Nr++;
}
}
System.out.println("Numarul de aparitii a caracterului " + C + " este: " + Nr +
".");
}

void lenght(int n){


String t = text.Get_text();
String[] cuv;
int Nr = 0;
cuv = t.split(" ");
for (int i = 0; i < cuv.length; i++){
if (cuv[i].length() == n ){
Nr++;
}
}
System.out.println("Numarul de cuvinte cu lungimea de " + n + " este: " + Nr +
".");
}

class Text extends Pagina{


private String myText;

Text(){}

Text(String S){
myText = S;
}
void innit(){
super.innit();
}

int lenght(){
return myText.length();
}

String Get_text(){//
return myText;
}
}

Rezultatele programului :

Concluzie:
In clasa Pagina este supraincarcata metoda length deoarece este scrisa 3 ori in aceasta clasa dar are
parametrii difetiti la prima folosire nu primeste parametru iar la a 2-a primeste parametru de tip
char, la a treia folosire ea primeste parametrul de tip Text.
In clasa Text are loc suprascrierea metodelor init si length deoarece aceste metode cu aceiasi
paramerti se afla si in clasa Pagina.

S-ar putea să vă placă și