CURS ONLINE INTERACTIV

Python 3

PENTRU ÎNCEPĂTORI


"Primul volum Python în română care pur și simplu m-a uimit. Foarte bine explicat și ușor de înțeles." (Alexandru Cosmin)

"Cea mai bună carte de Python din RO." (Iulian Geană)

"Livrare promptă! M-am pus pe treabă!" (Emil Ilie)
LECȚIA 1
PAG. 3 / 4
OOP - Introducere
Acasă >>> Lecții online, limbajul Python 3

Prima noastră clasă

Revenim la clasa mașinilor de spălat din prima pagină a acestei lecții...

Pentru a defini o clasă, folosim cuvântul cheie class, urmat de numele dorit pentru ea (în cazul nostru, masina_de_spalat). Apoi, atenție la indentare din nou, în interiorul ei vom scrie datele și metodele membre, precum mai jos:
Editor - oop3.py
       
Rezultatul în consolă done

Funcția __init()__

Fără funcția __init()__ nu am putea face nimic deoarece se referă la constructorul clasei, așadar o definim la început pentru a putea reține argumentele trimise la apelul inițial pentru instanțierea clasei, precum și poate alte operații necesare la crearea respectivului obiect.

Avem în exemplul anterior 4 parametri ce pot fi impuși la crearea unui nou obiect și 3 care nu pot fi setați decât ulterior din program, după instanțierea obiectului respectiv. Un altul ("inaltime") se găsește în interiorul funcției, însă nu poate fi impus la instanțiere. Ultimii doi, "latime" și "lungime" sunt în afara acestei funcții.

self

Cuvântul cheie self indică faptul că ne referim la obiectul curent instanțiat în funcția __init()__. Astfel, pentru fiecare dintre cei patru parametri ai funcției __init()__, am creat unul care reține datele trimise din programul principal la apelul contructorului (numele clasei).

Notă. Puteți să nu îi spuneți "self", ci oricum altfel ("obiectul", "masina_curenta"), însă atenție la modul de folosire a acestui cuvânt cheie și sensul său.

Alte detalii

Un aspect important este acela că am impus valori implicite pentru parametri, astfel încât să nu obținem eroare de interpretare dacă nu sunt trecute în program, precum în cazul variabilei m1. Vezi tipurile de argumente pentru funcții în [Lecția 18].

În esență ce am obținut până acum? Am creat o clasă numită masina_de_spalat, care are 7 date membru. Apoi, am creat două obiecte: m1, care are toate valorile default, iar m2, cu date introduse pentru fiecare argument dintre cele patru în parte la instanțiere.

Datele membru se pot modifica, precum vedeți în program. Cele trei date "inaltime", "lungime" și "latime" nu am vrut să le trec direct în antentul funcției de inițializare, ci să le las pentru o modificare ulterioară. Cu toate acestea, pentru a le defini a trebuit să le inițializez cu anumită valoare, în acest caz 0. Mai mult, ultimele două sunt în afara funcției, deci cuvântul cheie "self" nu a mai fost necesar.

După cum observați, avem libertate totală. Putem cere sau nu argumente inițiale la crearea obiectului, putem impune necesitatea unuia dintre ele, ș.a.m.d. Important este ca ceea ce definim ca și clase să ne ofere un suport real în cadrul programelor noastre.
Avansează la pagina următoare.
Cărțile editurii noastre
O parte dintre manualele și culegerile de probleme se găsește și [în format electronic] securizat sub formă de fișier *.pdf.

"O cameră fără cărţi este ca un corp fără suflet." (G. K. Chesterton)

Ultimele noutăți
[vezi lista completă a cărților]
 home   list  LECȚII   perm_identity   arrow_upward