Programare pe Obiecte

Curs
9.8/10 (4 voturi)
Domeniu: Calculatoare
Conține 11 fișiere: doc
Pagini : 46 în total
Cuvinte : 12783
Mărime: 929.58KB (arhivat)
Cost: Gratis
Profesor îndrumător / Prezentat Profesorului: David Dumitru
Univ din Pitesti anII

Extras din document

S-a observat ca un obiect real este caracterizat de o structura, proprietati si de functionalitate.

În POO obiectul este alcatuit dintr-o structura de date împreuna cu prelucrarile si metodele ce actioneaza asupra datelor. Obiectul încapsuleaza datele conform principiului fundamental al încapsularii, adica accesul la date se face numai prin setul de metode asociat obiectului. Implementarea este transparenta fata de utilizator. Daca modificam structura datelor membre poate aparea modificarea metodelor. Daca este pastrata specificatia metodelor nu afecteaza utilizarea obiectului.

Consecinte:

- limitarea dependentelor la scrierea programelor în colective diferite

- întretinerea programelor pentru versiuni noi este mai usoara si mai sigura

- posibilitatea realizarii clasei

- este folosita abstractizarea si ierarhizarea pentru a reda complexitatea lumii reale. Pot fi construite ierarhii de obiecte prin adaugarea de calitati suplimentare

Concepte în POO

- Clasa – este o generalizare a tipului de date cunoscut.

- Polimorfismul – este posibilitatea ca o functie sa opereze cu diverse variante specifice pentru obiecte diferite, având o aceeasi interfata

- Mostenirea – sta la baza modelarii si ierarhizarii. O clasa derivata mosteneste proprietatile clasei de baza la care adauga noi proprietati. Mecanismul este derivarea.

- Mostenirea multipla – O clasa mosteneste 2 clase si alte proprietati. Prin mostenire o solutie ce exista poate fi preluata si utilizata pentru o aplicatie noua. Rezulta ierarhii de aplicatii si clase.

2. Limbaje orientate pe obiecte

Au aparut la sfârsitul anilor ’60: Simula, Smalltalk, Eiffel. Altele si-au adaugat componente specifice POO (C si Pascal)

Simula I încorporeaza pentru prima data datele si metodele în aceeasi unitate. Simula II (1973) introduce concepte clare de clasa si obiecte.

Trasaturi ale C++

- calitatile C : flexibil si eficient

- are în plus POO care nu este impusa strict

- ameliorari

3. Incompatibilitati în C si C++

La C++ apar noi cuvinte rezervate: catch, class, delete, friend, inline, new, operator, private, protected, public, template, this, virtual

4. Clase. Elemente de baza

O clasa este o metoda de organizare a datelor si a functiilor în aceeasi structura. Definirea se face cu cuvântul cheie class.

Forma generala:

Class nume_clasa {

………

permisia1:

… membrii…

permisia2:

… membrii…

} [nob];

unde nume_clasa reprezinta numele dat de utilizator clasei respective; permisia este un specificator de acces la membrii clasei; membrii sunt date si functii ce fac parte din clasa respectiva, iar nob sunt instantieri ale clasei respective.

Specificatorii de acces la membrii clasei pot fi:

- private – care este implicit. Toti membrii ce urmeaza sunt de tip private si sunt accesibili doar membrilor clasei sau al unei clase prietene

- protected – membrii cu acest atribut sunt accesibili membrilor clasei, de cei ai clasei prietene si de cei ai clasei derivate

- public – membrii cu acest atribut sunt accesibili în orice punct unde este vizibila clasa, si reprezinta interfata clasei cu restul programului

Exemplu:

CDrept{

int x,y;

public:

void set_val(int,int);

int area(void);

} rect;

Este clasa dreptunghiurilor ce au un colt în origine si celalalt în (x,y). (x,y) nu pot fi modificati din afara însa se poate folosi functia set_val si area.

O clasa trebuie instantiata, si acest lucru se face astfel:

Cdrept drept1, drept2;

Drept1 si drept2 sunt obiecte de tip Cdrept.

O metoda a clasei se apeleaza astfel:

nume_ob.nume_metoda()

În cazul nostru apelarea metodei set_val() se face astfel:

drept1.set_val(6,7);

Definirea unei functii membre, la noi set_val():

void CDrept::set_val(int a, int b)

{x=a; y=b;}

int Cdrept::area(void)

{return (x*y);}

Iar programul principal:

void main()

{

drept1.set_val(6,7);

cout<<”Suprafata dreptunghiului=”<<drept1.area()<<endl;

getch();

}

Operatorul de rezolutie (::) este folosit pentru a defini o functie membru în afara clasei. Daca o functie nu este declarata în afara clasei ci în interiorul ei, functia se numeste functie inline.

Noi nu avem un constructor si un destructor în exemplu. Datele si functiile se numesc proprietatile obiectelor.

Preview document

Programare pe Obiecte - Pagina 1
Programare pe Obiecte - Pagina 2
Programare pe Obiecte - Pagina 3
Programare pe Obiecte - Pagina 4
Programare pe Obiecte - Pagina 5
Programare pe Obiecte - Pagina 6
Programare pe Obiecte - Pagina 7
Programare pe Obiecte - Pagina 8
Programare pe Obiecte - Pagina 9
Programare pe Obiecte - Pagina 10
Programare pe Obiecte - Pagina 11
Programare pe Obiecte - Pagina 12
Programare pe Obiecte - Pagina 13
Programare pe Obiecte - Pagina 14
Programare pe Obiecte - Pagina 15
Programare pe Obiecte - Pagina 16
Programare pe Obiecte - Pagina 17
Programare pe Obiecte - Pagina 18
Programare pe Obiecte - Pagina 19
Programare pe Obiecte - Pagina 20
Programare pe Obiecte - Pagina 21
Programare pe Obiecte - Pagina 22
Programare pe Obiecte - Pagina 23
Programare pe Obiecte - Pagina 24
Programare pe Obiecte - Pagina 25
Programare pe Obiecte - Pagina 26
Programare pe Obiecte - Pagina 27
Programare pe Obiecte - Pagina 28
Programare pe Obiecte - Pagina 29
Programare pe Obiecte - Pagina 30
Programare pe Obiecte - Pagina 31
Programare pe Obiecte - Pagina 32
Programare pe Obiecte - Pagina 33
Programare pe Obiecte - Pagina 34
Programare pe Obiecte - Pagina 35
Programare pe Obiecte - Pagina 36
Programare pe Obiecte - Pagina 37
Programare pe Obiecte - Pagina 38
Programare pe Obiecte - Pagina 39
Programare pe Obiecte - Pagina 40
Programare pe Obiecte - Pagina 41
Programare pe Obiecte - Pagina 42
Programare pe Obiecte - Pagina 43
Programare pe Obiecte - Pagina 44
Programare pe Obiecte - Pagina 45
Programare pe Obiecte - Pagina 46

Conținut arhivă zip

  • Curs 1 (POO An 2) .doc
  • Curs 10 (POO An 2) .doc
  • Curs 11 (POO An 2) .doc
  • Curs 2 (POO An 2) .doc
  • Curs 3 (POO An 2) .doc
  • Curs 4 (POO An 2) .doc
  • Curs 5 (POO An 2) .doc
  • Curs 6 (POO An 2) .doc
  • Curs 7 (POO An 2) .doc
  • Curs 8 (POO An 2) .doc
  • Curs 9 (POO An 2) .doc

Alții au mai descărcat și

Steganografie criptografică pentru fișiere mp3

1. STEGANOGRAFIA 1.1 INTRODUCERE Steganografia este arta ascunderii de informatie secreta în informatie obisnuita non-secreta. Un atacator se...

Bazele programării pe obiecte

Partea 1. Teorie I. Programarea pe Obiecte.Notiuni Generale I.1. Obiecte.Clase.Caracteristici. I.1.1. Introducere. Limbajele de programare,...

Tehnologia NET

CAPITOLUL 1 Aplicatii distribuite 1.1 Introducere In ultimii ani, programarea distribuita apare tot mai des ca solutie la problemele din...

Arhitectura calculatoarelor

I. Arhitectura calculatoarelor 1. Scurt istoric Momentul iniţial al istoriei calculatoarelor este, de obicei legat de numele matematicianului...

Funcții recursive - Turbo Pascal

CUVÂNT ÎNAINTE Acest proiect la informatica consta în prezentarea în limbajul de programare Turbo Pascal a unei probleme ce îsi propune sa...

Baze de Date - Compania Carte 2009

„Cartea 2009” este o companie care se ocupa cu distributia de carte in Romania. „Cartea 2009” dispune de un lant de peste 300 de librarii situate...

Examen programarea orientată pe obiecte

1. Clase. O definitie “bruta” a clasei ar fi aceea ca este un concept extins al unui tip de date abstract : in loc sa contina numai informatii –...

Structuri de date de tip listă

Notiuni de date Principalele tipuri de date ale limbajului PASCAL sunt: - integer {construit din numere intregi} ; - boolean {valorile...

Te-ar putea interesa și

Posibilități de Dezvoltare a Turismului în Valea Jiului

CAPITOLUL I 1. Turismul- aspecte generale Turismul a devenit în zilele noastre o activitate la fel de importantă precum cea desfăşurată în alte...

Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java

Introducere Am ales lucrarea intitulată „Ilustrarea și simularea unor algoritmi de inteligență artificială folosind programarea orientată pe...

Validarea datelor de intrare și manipularea erorilor în programarea web

INTRODUCERE Într-o epocă modernă ca aceasta în care se poate rezolva totul cu ajutorul internetului printr-un simplu ”click” - o singură apăsare a...

Strategii de Relansare a Turismului Internațional al României

I. TURISMUL INTERNAŢIONAL – parametri economici şi starea de fapt Nu se poate realiza o analiză a turismului românesc fără a se urmări evoluţiile...

Bazele programării pe obiecte

Partea 1. Teorie I. Programarea pe Obiecte.Notiuni Generale I.1. Obiecte.Clase.Caracteristici. I.1.1. Introducere. Limbajele de programare,...

Tehnologia NET

CAPITOLUL 1 Aplicatii distribuite 1.1 Introducere In ultimii ani, programarea distribuita apare tot mai des ca solutie la problemele din...

Disparități regionale în Uniunea Europeană

„Există multe obiective pe care nu le putem atinge singuri, ci numai împreună. Sarcinile sunt împărţite între Uniunea Europeană, statele membre şi...

Programarea Stocastică

INTRODUCERE De-a lungul anilor s-a demonstrat că sistemul militar modern, ca de altfel orice alt organism social, în care actul decizional...

Ai nevoie de altceva?