400 likes | 521 Views
Software development fundamentals (C#). adrian.coman@studentpartner.com contact@adriancoman.ro. Ce învățăm. Concepte de bază în programare Tipuri de date Blocuri decizionale Blocuri repetitive Error handling Programarea orientat ă pe obiect Fundamentele claselor Moștenirea
E N D
Software development fundamentals (C#) adrian.coman@studentpartner.com contact@adriancoman.ro
Ce învățăm • Concepte de bază în programare • Tipuri de date • Blocuridecizionale • Blocuri repetitive • Error handling • Programareaorientată pe obiect • Fundamentele claselor • Moștenirea • Polimorfism • Encapsulare • Aplicații desktop • Aplicații win form • Aplicații console • Aplicații WPF/Win 8
Totuleste un obiect int i=0; int i= new (int); i.GetType(); i.ToString(); i.Equals(j);
intMyFunction(object obi) { if (obi is int) { inti=int(obi); } else if (obi is string) { string s=(string)obi; } }
intfunctia() { int x = 10; x++; for (int i; i < 10; i++) { int y = x + 20; } y += 20; }
Citireași scrierea variabilelor • int x=4; • Console.WriteLine(“Numarulmeueste {0}”, x); • Console.ReadLine(x); • intx = int.Parse(Console.ReadLine());
Operatoriaritmetici: + - / * % Operatori de atribuire: = Operatori de comparare: ==, !=,<,>, >=, <= Operatoriilogici: && și || Operatori de incrementare/decrementare a=a+1, a+=1, a++, ++a. Operatori de testare: is (return true dacă obiectul e de un anumit tip) as ( face convert, dacă e posibil)
Classe • Clasele sunt cele mai întâlnite tipuri de date în c# • O clasă trebuie văzută ca o schiță, un blueprint al obiectului • Văd descrierea obiectului (fields and properties) • Văd acțiunile pe care le poate face obiectul (metode) • O clasă nu este un obiect!
Proprietăți • Pot să folosesc doar get sau set. Devine readonly/writeonly.
Overriding / suprascriere • Unul dintre cele mai puternice aspecte ale POO • Pot modifica logica unei metode
Overriding • VIRTUAL : spun compilatorului că această metodă poate fi suprascrisă de clasele derivate • public virtual int MetodaMea() {…} • OVERRIDE: în subclasă spun compilatorului că această metodă suprascrie metoda părinte • Public override int MetodaMea() {…} • BASE: în subclasă, apelez metoda părintelui • Base.MetodaMea();