Exemple de clase de programare

Nu este nevoie deloc să folosească clasele. Puteți scrie întreaga ta panza program de multilinie într-o singură funcție. Dar, dacă aveți mai târziu nevoie pentru a schimba ceva, atunci se va ocupa din nou, cu toate acestea pânză. Dacă încapsulează diversele aspecte ale aplicației, de exemplu, prin intermediul unor clase, atunci trebuie doar să modificați tipurile la care logica variabilă.

Și dacă, să zicem, de exemplu, avem un cod în diferite funcții și variabile globale. Și în fiecare funcție este o cerere pentru o anumită variabilă globală sau o altă funcție, care, la rândul său, solicită un al treilea, iar a treia interogare variabila globală. Și acum trebuie să se schimbe a doua funcție în lanț, și una dintre variabilele globale. Deci, va trebui să sape în codul prima funcție. Cum poate fi rezolvată prin clase?

Dacă aveți o variabilă globală, atunci toate codul care utilizează variabila - aceasta este o mare bucată de cod, iar dacă utilizați o parte din ea, va trebui să sape în toate părțile sale. Din faptul că acest cod va fi împărțită în clase, încapsulare nu apare automagic. De aceea, am pus accentul pe faptul că nu a fost în clase, circuite, etc. și încapsulare. Clasa - unul dintre instrumentele necesare pentru a se asigura încapsulare, dar este doar un instrument.

În cazul în care programul devine mai mare ca asta nu a rupt nimic altceva atunci când schimbați-o singură bucată. Pentru acest program sunt defalcate în părți care interacționează prin intermediul unor interfețe. Cel mai mic dintre aceste link-uri, cu atât mai ușor este de a menține acest cod.
Variabilă (private), în clasa, pentru o mai bună la nivel mondial, care accesul la aceasta este doar clasa în sine. În acest caz, pot să scriu atunci când clasa se așteaptă ca datele lor se schimbă numai pe mine, așa că, în orice moment dat, acestea sunt coerente. Cum ar fi clasa Piața descrie pătrat, pe care dorim să setați lungimea laturii și cere zona lui.


Opțiunile de procedură cineva poate schimba lungimea laturii și uita (prost, dar dacă parametrii nu sunt doi, ci câteva zeci, să-și amintească toate legile dificil) pentru a schimba zona, în acest caz, va începe obtinerea de rezultate greșite.
Încă citit despre moștenirea, este folosit foarte des.
Despre enum nu poate ciocan cap acum.

La o abordare procedurală, puteți scrie variabilele globale la modulul, și nici unul, dar modulul nu va vedea aceste variabile în modulul. Un module compacte se fac și să împartă în public intern și. uz intern recente, și anume delega punerea în aplicare.

Și cu spațiu de nume cheie nu se confruntă cu un conflict de nume.

Singurul negativ cu această abordare, din modulul nu poate fi moștenită, dar nu este atât de negativ.

În cazul modulului nu avem nici un concept de o instanță. De exemplu, am înțeles cum să lucreze cu un pătrat, dacă îl descriu ca un modul. Lucrul cu o serie de pătrate deja să fie menținute în modulul propriu-zis. Și vrem să folosească o varietate de colecții, totul devine mult mai complicat.
Se dispensează cu moștenire și polimorfism, desigur, posibil, dar nu foarte de dorit.