Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

C


Index » educatie » » informatica » C
» PROGRAMAREA INTERFETELOR UTILIZATOR


PROGRAMAREA INTERFETELOR UTILIZATOR


Lucrarea de laborator nr. 5



Obiective

Insusirea modului de lucru cu clase in Visual C#

Proprietati. Accesorii get si set;

Supraincarcarea operatorilor;

Enumerari si structuri in limbajul Visual C#.

Intrebari:

  1. Se permite definirea, in cadrul unei structuri, a unui constructor fara lista de parametri?
  2. Se permite definirea, in cadrul unei structuri, a unui destructor?
  3. Se poate supraincarca un operator in limbajul C#, prin intermediul unei metode nestatice?
  4. Se poate supraincarca operatorul [] in limbajul C#? Dar operatorul = ?

Proprietati. Accesorii get si set

  • Studiati clasa Persoana si modalitatea de utilizare a acesteia
  • Creati o aplicatie Visual C# pentru testarea clasei Persoana
  • Adaugati noi proprietati clasei Persoana.

class Persoana

set

//Declararea unei proprietati de tip intreg

public int Varsta

set

public string infPersoana()

static void Main(string[] args)

, pers.infPersoana());

//Setarea valorilor pentru proprietatile Nume si Varsta

pers.Nume = 'John';

pers.Varsta = 101;

Console.WriteLine('Informatii persoana - ', pers.infPersoana());

//incrementarea proprietatii Varsta

pers.Varsta += 1;

Console.WriteLine('Noua varsta ', pers.Varsta);

2. Supraincarcarea operatorilor

  • Studiati exemplul de mai jos
  • Creati o aplicatie Visual C# pentru testarea clasei Complex
  • Scrieti functii operator pentru realizarea urmatoarelor operatii: diferenta a doua numere complexe, produsul a doua numere complexe si modulul unui numar complex;
  • Scrieti functii operator care sa poata fi utilizate pentru a testa daca modulul unui numar complex este mai mare, respectiv mai mic decat modulul altui numar complex.

class Complex

public Complex(int _re, int _im)

public string infoComplex()

//supraincarcarea operatorului +

public static Complex operator +(Complex o1, Complex o2)

//Atentie! operatorii == si != trebuie supraincarcati simultan

//supraincarcarea operatorului ==

public static bool operator ==(Complex o1, Complex o2)

//supraincarcarea operatorului !=

public static bool operator !=(Complex o1, Complex o2)

static void Main(string[] args)



3. Enumerari.

  • Studiati exemplul de mai jos
  • Creati o aplicatie Visual C# pentru testarea acestui exemplu

public enum TipMasina

static void Main(string[] args)

TipMasina masina1 = TipMasina.Ford;

//conversie tip enumerare -> numar intreg

Console.WriteLine('Tip masina1 (intreg) = ', (int)(masina1));

//conversie tip enumerare -> sir de caractere

Console.WriteLine('Tip masina1 (sir de caractere) =

,masina1.ToString());

//utilizarea operatorului typeof

Console.WriteLine(Enum.GetName(typeof(TipMasina), masina1) +

+masina1.ToString() + ', ' + (masina1 ==TipMasina.Ford).ToString());

//conversie sir de caractere -> tip enumerare

masina1 = (TipMasina)Enum.Parse(typeof(TipMasina), 'Fiat');

Console.WriteLine(Enum.GetName(typeof(TipMasina), masina1) +

+masina1.ToString() + ', ' + (masina1 ==TipMasina.Ford).ToString());

//obtinerea constantelor din enumerarea TipMasina

Console.WriteLine('Valori enumerare');

Array tipuri_masini = Enum.GetValues(typeof(TipMasina));

foreach (TipMasina tip in tipuri_masini)

Console.WriteLine('', tip.ToString('d'));

//obtinerea numelor constantelor din enumerarea TipMasina

Console.WriteLine('Nume constante din enumerare');

string[] nume_constante = Enum.GetNames(typeof(TipMasina));

for (int i = 0; i < nume_constante.Length; i++)

Console.WriteLine(nume_constante[i]);

4. Structuri.

  • Studiati exemplul de mai jos
  • Creati o aplicatie Visual C# pentru testarea acestui exemplu
  • Precizati principalele diferente dintre structuri si clase.

public enum FirmaProducatoare

public enum Destinatie

public struct Masina

public string infoMasina()

//supraincarcarea operatorului - (scade pretul masinii)

public static Masina operator -(Masina o, Int64 pret)

static void Main(string[] args)

Tema de laborator:

Implementati clasa C# pentru TDA Stiva. Operatiile de baza vor fi realizate prin intermediul functiilor operator;

Tema pentru acasa:

Implementati clasa C# pentru TDA Lista. Operatiile de baza vor fi realizate prin intermediul functiilor operator.








Politica de confidentialitate




Copyright © 2024 - Toate drepturile rezervate