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

Proiectarea Aplicatiilor de Comert Electronic - Aplicatie de Food-Ordering

Progresele realizate recent în domeniile tehnologie-calculatoare, telecomunicatii si software, precum si în alte domenii ale informatiei, au...

Steganografie Criptografica pentru Fisiere Mp3

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

Bazele Programarii pe Obiecte

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

Folosirea MySQL și PHP în Gestionarea unei Baze de Date pe Web

Introducere Conţinutul lucrării este dat de construcţia de legături dintre World Wide Web şi baze de date, dintre tehnologia veche şi cea nouă,...

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...

Functii 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...

Sisteme de Intrari Prelucrari si Iesiri a Datelor prin Intermediul a PHP si MYSQL

Introducere Proiectul de specialitate constituie un element obligatoriu al planului de învatamânt astfel, proiectul de specialitate reprezinta...

Ai nevoie de altceva?