Professional Documents
Culture Documents
package xando;
@SuppressWarnings("serial")
public class ExceptionGameEnded extends Exception {
public boolean win;
public Point winningCell;
public ExceptionGameEnded(String message, boolean win, Point
winningCell) {
super(message);
this.win = win;
this.winningCell = winningCell;
}
}
Point
package xando;
public class Point {
public int row;
public int col;
public Point(int row, int column) {
this.row = row;
col = column;
}
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof Point))
return false;
Point other = (Point) obj;
if (col != other.col)
return false;
if (row != other.row)
return false;
return true;
}
}
Player
package xando;
import
import
import
import
java.util.HashSet;
java.util.Iterator;
java.util.Random;
java.util.Set;
}
}
}
if (board[i][col] != XO)
break;
else {
count++;
if (count == winLength) {
return true;
}
}
}
// verific pe diagonala
count = 0;
for (int i = 0, j = 0; i < N && j < M; i++, j++) {
if (board[i][j] != XO)
break;
else {
count++;
if (count == winLength) {
return true;
}
}
}
// verific pe diagonala secundara
count = 0;
for (int i = 0, j = 0; i < N && j < M; i++, j++) {
if (board[i][(M - 1) - j] != XO)
break;
else {
count++;
if (count == winLength) {
return true;
}
}
}
// verific daca mai sunt pozitii celule goale
// daca nu, atunci este egalitate deoarece nu a returnat true pana sa
ajunga aici
if (emptyCells.isEmpty())
short
int
long
float
double
byte
boolean
char
System.out.print()
System.out.println()
obiect
este
reprezentat
de metode numite
String culoare
double greutate
double presiuneInterna
class Minge{
culoare;
greutate;
presiuneInterna;
}
Comportamente
Metode de clasa
Supraincarcare (overloading)
nume. Parametrii pot fi diferiti fie prin tipul fie prin numarul fie prin ordinea
lor.
Supraincarcarea este un procedeu care se poate aplica si constructorilor.
Constructorii oricum sunt fortati sa aiba acelasi nume cu al clasei. Asadar
folosind supraincarcarea in cazul constructorilor sinugurul lucru care trebuie
avut in vedere este definirea folosind parametrii diferiti ca in cazul
metodelor.
Tablouri
unidimensionale - vectori
bidimensionale - matrice
pluridimensionale
Instanta this reprezinta intr-o clasa instanta curenta. Practic, folosita intr-un
comportament aceasta este instanta care se comporta (cea al carei
comportament este apelat). Folosita intr-un constructor this reprezinta
instanta care este construita. Nu uitati ca this nu poate fi accesat din metode
statice sau contexte statice.
Constructorul this()
this() reprezinta consructorul clasei curente.
Tipul enum
se
Importurile se fac in fisierul .java in care este scrisa clasa, inainte de linia
de definire a clasei.
Accesul la informatie si comportament
public
protected
private
Mostenirea (extends)
Constructorul super()
Asa cum this() poate fi folosit pentru a se face referire la unul dintre
constructorii clasei curente, super() poate fi folosit pentru a face referire la
unul dintre constructorii clasei superioare. super() nu poate fi apelat decat
pe prima linie a constructorului clasei copil. Acest lucru este datorat
modului in care se face instantierea pentru o clasa care mosteneste o alta
clasa:
1. In momentul in care constructorul clasei copil este apelat acesta cauta
pe prima linie a constructorului apelul pentru constructorul clasei
superioare, in cazul in care nu gaseste apelul se apeleaza automat
constructorul implicit, daca acesta nu exista rezultatul este o eroare la
compilare.
2. Este creata instanta super.
3. Este creata instanta this.
Suprascrierea (overriding)
Clase finale
O clasa care este finala nu poate fi mostenita. Clasele finale sunt create
prin folosirea modificatorului final. O clasa nu poate fi niciodata
si final si abstractin acelasi timp.