Sunteți pe pagina 1din 4

MODEL

Ministerul Educaţiei, Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei

Departamentul Informatică și Ingineria Sistemelor

RAPORT
Lucrarea de laborator nr.3
la Tehnologii avansate de programare

A efectuat:
st. gr. CR-213 Tabureanu Marian

A verificat: Osovschi Mariana

Chişinău -2022
MODEL

Lucrare de laborator nr. 3


1. Tema lucrării:
Supraîncărcarea metodelor.

2. 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:
1) Crearea metodelor supraîncărcate;
2) Crearea metodelor suprascrise;
3) Utilizarea metodelor supraîncărcate în superclase şi subclase;
4) Utilizarea metodelor suprascrise;
5) Crearea interfeţii programului;
6) Prezentarea lucrării.

Probleme propuse:
Să se realizeze supraîncărcarea şi suprascrierea a trei metode diferite (utilizarea
unei clase cu posibilităţile altei clase), creați și suprascrieți o metodă de căutare a
unui subșir după un anumit șablon cu utilizarea expresiilor regulate.
Sa se creeze obiectul clasa «Carte», folosind clasa «Text».
MODEL

Codul programului:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.*;

class Carte {
String text;

public Carte(String text) {


this.text = text;
}

public void search(String pattern) {


search(pattern, 0);
}

public void search(char pattern) {


search(String.valueOf(pattern), 0);
}

public void search(String pattern, int start) {


Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(text);
if (m.find(start)) {
System.out.println("Subșirul \"" + m.group() + "\" găsit la
poziția " + m.start() + ".");
} else {
System.out.println("Subșirul \"" + pattern + "\" nu a fost
găsit.");
}
}

public int NrCaractere() {


int c = 0;
for (int i = 0; i < text.length(); i++)
if (text.equalsIgnoreCase(" "))
c++;
return c;
}

public int NrCaractere(int start) {


int c = 0;
for (int i = 0; i < text.length(); i++)
if (text.equals(" "))
c++;
return c;
}

public void show(){


System.out.println(text);
}
public void show(int start){
for(int i=start;i<text.length();i++)
System.out.print(text.charAt(i));
System.out.println("/n");
}

}
MODEL

class Text extends Carte {


public Text(String text) {
super(text);
}

// suprascriere metoda search pentru a utiliza expresii regulate


@Override
public void search(String pattern, int start) {
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(text);
if (m.find(start)) {
System.out.println("Subșirul \"" + m.group() + "\" găsit la
poziția " + m.start() + ".");
} else {
System.out.println("Subșirul \"" + pattern + "\" nu a fost
găsit.");
}
}
}

public class Main {


public static void main(String[] args) {
Carte Carte = new Carte("Lorem ipsum dolor sit amet, consectetur
adipiscing elit.");
Carte.search("a");

Text text = new Text("Lorem ipsum dolor sit amet, consectetur


adipiscing elit.");
text.search("[a-z]{5}");
}
}

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