1 / 25

BAZELE PROGRAM Ä‚ RII PE OBIECTE VISUAL BASIC .NET

BAZELE PROGRAM Ă RII PE OBIECTE VISUAL BASIC .NET. Conf univ dr Botezatu Cezar UNIVERSITATEA ROMÂNO AMERICANĂ Anul I LICENȚĂ IM. CURS 7 :. .NET Framework. Common Language Runtime.

kaethe
Download Presentation

BAZELE PROGRAM Ä‚ RII PE OBIECTE VISUAL BASIC .NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BAZELE PROGRAMĂRII PE OBIECTEVISUAL BASIC .NET ConfunivdrBotezatuCezar UNIVERSITATEA ROMÂNO AMERICANĂ Anul I LICENȚĂ IM

  2. CURS 7: .NET Framework

  3. Common LanguageRuntime În centrul .NET Framework este Common LanguageRuntime(CLR), astfel numitpentru că toate limbajele .NET îl folosesc. Tot ceea ce face un program .NET este gestionat de către CLR. Cândse crează o variabilă, sau când se renunță la un set de date, acționează CLRşi modului în care gestionează eliberarea de date prin intermediul sistemului garbagecollector. Software-ul scris pentru .NET Framework este numit cod gestionat. Orice cod care este în afara controlului CLR, inclusiv componentele COM (ActiveX), utilizate de către aplicațiile .NET, este cunoscut sub numele de cod negestionat.

  4. Common LanguageRuntime Structurile de control şi de gestionare ale CLR asigură un flux de date ordonat şi sigur între .NET și restul calculatorului sau reţea. Toate limbajele .NET convertesc (compilează) codul sursă în Limbajul Intermediar Microsoft (sau MSIL frecvent abreviat ca doar IL) . Pentru cei dintre voi familiarizați cu limbajul de asamblare, se aseamănă foarte mult cu acesta.

  5. Common LanguageSpecification Limbajele care pretind că suportă .NET trebuie cu adevărat să fie compatibile cu .NET. Aceasta se face prin intermediul Common LanguageSpecification (CLS). CLS defineşte un set minim de caracteristici pe care un limbaj trebuie să-l implementeze înainte de a fi considerat compatibil .NET, sau mai precis, compatibil CLS. Un limbaj poate merge dincolo de acest minim, dacă dorește, iar .NET include multe caracteristici suplimentare pe care pot fi construite caracteristici specifice limbajului. Un limbaj care pune în aplicare doar minimul de caracteristici specific CLS, se poate să nu fie capabil să interacţioneze în totalitate cu componente ale limbajelor care depăşesc specificaţiile minime. Visual Basic este, desigur, compatibil CLS şi, de fapt, merge mult dincolo de acel minim.

  6. Common TypeSystem Pentru că oricum CLRcontrolează codul sursă, Microsoft s-a gândit că ar fi bine să controleze de asemeni și datele codului sursă. .NET Framework face acest lucru prin intermediul Common TypeSystem (CTS), care defineştetoate tipurile de date de bază şi a mecanismelor de date utilizate în programele .NET. Aceasta include valorile de tip şir de caractere, numeric, şi booleene. Defineşte de asemenea, obiectul, unitatea de bază de stocare a datelor în .NET.

  7. Common TypeSystem CTS împarte toate obiectele în două compartimente. Primul compartiment, numit tipuri de valoare, înmagazinează date reale chiar în compartiment. O valoare întreagă de 32-biti este pusă chiar în compartimentul tip de valoare, gata pentru utilizare imediată. Celălalt compartiment conţine tipuri de referinţă. Aici se vede o hartă care spune unde se găsesc de fapt datele reale în memoria calculatorului. Se pare că tipurile de valoare sunt mai uşor de utilizat, dar au câteva restricţii care nu sunt impuse tipurilor de referinţă.

  8. Common TypeSystem Programele şi componentele scrise folosind standardul CTS pot face schimb de date cu altele, fără obstacole sau limitări. (Câteva tipuri de date .NET nu se încadrează în tipurile CTS "de bază", dar trebuie evitațedoar atunci când se dorește interacţionarea în mod specific cu componente care pot utiliza numai tipuri CTS de bază.)

  9. Tipuri În limbajul .NET, sunt cunoscuți colectiv ca tipuri, termenii: clasă, structură, interfată, delegat, modul, şienumerare. Membrii unui tip constau, de obicei, în câmpuri de date simple şi proceduri, dar pot include șialte tipuri ca membri. Adică, o clasă poate include o clasă imbricată dacă este nevoie. Doar anumite tipuri suportă imbricare. Fiecare membru are un nivel de acces care arată ce cod poate folosi acel membru. Există cinci niveluri de acces: de la public ( oricine și fratele lor pot folosi membrul) la privat (trebuie să fii în interiorul tipul pentru a realiza că există).

  10. Bibliotecile de clase .NET .NET Framework este construit pe decenii de funcţionalitate din ce în ce mai complexă. .NET Framework CLR şi sistemul său asociatde tipuri reprezintă nucleul .NET Framework. Prin el, .NET Framework include toate funcționalitățile de bază necesare. Pentru ceva mai complex, ceva ce un alt programator a făcut deja, cum ar fi sortarea unei liste cu nume sau desenarea unui cerc colorat pe o formă, se folosesc bibliotecile de clasă, bibliotecile .NET de clasă. Aceste biblioteci, instalate cu .NET Framework, includ o mulţime de funcționalitățiprescrise (din ce în ce mai complexe) care nu trebuiesc scrise de la zero.

  11. Biblioteci de clase .NET În .NET sunt două biblioteci de clase : Base ClassLibrary (BCL) și .NET FrameworkClassLibrary (FCL). BCL este mai mic, şi conţine lucrurile esenţiale de care un program are nevoie. Include doar clasele care sunt o necesitate absolută pentru suportul aplicațiilor în .NET Framework în cazul în care Microsoft, să zicem, ar porta .NET Framework pe alt Sistem de Operare. FCL este mai mare, şi include tot ceea ce Microsoft a crezut că se poate folosi în programele utilizator, dar nu au fost absolut esenţiale pentru a fi incluse în BCL.

  12. Librăriile de clase .NET Cu mii (da, mii!) de clase, enumerări, interfeţe, şi alte tipuri incluse în BCL şi FCL, se poate crede că este greu de găsit clasa de care e nevoie. .NET Framework include o facilitate numită namespacessystem (sistemul spațiilor de nume)prin care nu este atât de dificil, cel puţin nu copleşitor de greu de găsit clasa de care e nevoie. Toate tipurile din .NET apar într-un set de ierarhii (structuri arbore) cu doar câteva intrări minime ca rădăcină. Fiecare nod din ierarhie este un namespace (spațiul de nume). Puteţi identifica în mod unic orice clasă sau tip, în biblioteci prin înșiruirea de nume, separate prin ”.” ale fiecărui namespace, superior direct în ierarhie, de la rădăcină până la cel care conţine tipulrespectiv.

  13. Assembly și Manifest-uri Assembly(ansamblu) este o unitate "de implementare" pentru părţi ale unei aplicaţii sau biblioteci .NET. În 99,9% din cazuri, assembly este pur şi simplu un fişier executabil .NET (un fişier .exe) sau o bibliotecă .NET de clase şi alte tipuri (un fişier .dll). O unitate assembly poate fi împărțită între mai multe fişiere, dar de obicei este un fişier pentru un singur assembly. Prezența unui manifest face dintr-un .exe sau un .dllunassembly. Pentru single-file assembly, manifest-ul apare chiar în fișier, dar poate apărea, de asemenea, într-un fişier propriu.

  14. Assembly și Manifest-uri Manifesteste un set de date care cuprinde detalii importante despre assembly, inclusiv numeleacestuia, informaţia despre versiune, cultura implicită, informaţii cu referire la assembly și tipuri externe, şi o listă a tuturor fişierelor conţinute înassembly. CLR nu va recunoaşte un assembly fără manifest. Assemblypoate include opţional un strongname. Acest lucru ajută pentru a asigura integritatea şi autenticitatea unui assemblyprintr-o semnătură digitală ataşată manifest-ului. Numele foloseşte criptografia cu chei publice pentru a garanta că assembly-ul este unic şi nu a fost modificat.

  15. Assembly și Manifest-uri Visual Studio.NETşi .NET Framework includ instrumente care permit să se adauge la un assemblyunstrongname. Atunci când se lansează o aplicație., se pun în mod normal, toate fişierele assembly, fisierele de configurare, precum şi orice alte fişiere asociate aplicației. în directorul de instalare al aplicaţiei. Assembly-urile partajate, proiectate pentru a fi folosite de mai mult de o aplicație pe o singură mașină, pot fi stocate în Global AssemblyCache (GAC). Toate assembly-urile plasate în GAC trebuie să aibă strongname. Unele sisteme pot permite doar administratorului de sistem adăugarea de assembly-uri la GAC.

  16. Visual Basic La aplicaţiiledin Visual Basic, majoritatea codului va apărea în clase. Clasele sunt tipuri de referinţă care includ atât valori de date cât şi codul asociat. Valorile de date incluse într-o clasă sunt de cele mai multe ori tipuri de date CTS de bază, dar pot conţine, de asemenea, obiecteconstruiteîn altă parte în aplicație. Visual Basic include, de asemenea, structuri. Structurile implementează tipuri de valoare şi includ, de asemenea, atât date cât şi cod. Clasele şi structurile sunt doar două dintre tipurile de date / cod disponibile în Visual Basic.

  17. Visual Basic Interfețele sunt scheletul claselor şi structurilor. Acestea includ detalii de proiectare (design) cu ceea ce ar trebui să apară într-o clasă sau structură asociată, dar nu includ nici o implementare sau cod efectiv. Delegaţii definesc o procedură "semnătură" fără implementareşi sunt folosite pentru a sprijini evenimentele (acele acţiuni iniţiate de către utilizator, de sistemul de operare, sau prin cod, care pot lansaîn execuțiesubrutinespecifice). Modulelesuntblocuri de cod şi date, dar spre deosebire declase şi structuri, nu se pot crea obiecte care nu depind de ele. Enumerările grupează un set de valori întregi, folosite în general, ca o listă de opţiuni.

  18. Visual Basic .NET are mai multe ierarhii namespace deci cu mai multe noduri rădăcină. Cel mai mare namespace rădăcină este numit System. Acesta include mai multe clase, dar și mai multe noduriierarhii de nivel mai mare (fiecare ca namespace). Deoarece .NET Framework include caracteristici, atât pentru dezvoltarea aplicațiilor Windows-based cât și web-based, există namespace-uri care conţin caracteristici specifice pentru dezvoltare Windows și web. Aceste Namespace-uri apar doar în namespace-ulSystem, şi sunt numite Windows și web. Tot codul referitor la formele de pe ecran, în namespace-ulWindows apare namespace-ulForms şi în acest namespace este clasa efectivă care implementează o formă.

  19. Visual Basic Toate clasele şi tipurile există undeva în ierarhie, cu toate că nu fiecare clasă provine dinnamespace-ulSystem. Multe dintre caracteristicile de sprijin specifice pentru Visual Basic apar în namespace-ulMicrosoft.VisualBasic , care are "Microsoft" ca nod rădăcină în loc de "System". Când se creazănoi proiecte în Visual Basic, numele proiectului este, în mod implicit, un nod nou în vârful ierarhiei. Dacă creaţi o aplicaţie Windows numită WindowsApplication1, forma "Form1" din această aplicație are următorul nume complet calificat: WindowsApplication1.Form1 Acest nou namespaceeste complet integrat în ierarhia namespace-ului.NET; namespace-ulWindowsApplication1 este un nod rădăcină, la fel ca nodurile rădăcină System şi Microsoft.

  20. Visual Basic Namespace-ulWindowsApplication1 este un nod rădăcină, la fel ca nodurile rădăcină Systemsau Microsoft.VisualBasicși include caracteristici care permit să se modifice namespace-ul implicit pentru o aplicaţie, sau să se plaseze o clasă a aplicației într-un namespace specific. Se pot plasa clasele aplicaţiei în ramura namespace-uluiSystem. Schimbarea WindowsApplication1la System. MySuperAppschimbă Form1 în: System.MySuperApp.Form1 Dacă aplicația este de fapt o componentă sau bibliotecă destinată utilizării în programe, clasele aplicației vor apărea în namespace-ulspecificaţ atunci când se încarcă componenta în zona aplicației.

  21. Metadateşi Atribute În plus faţă de manifest şi membri tip, assemblymai conţinmetadate. Compilatorul Visual Basic acordă un plus de informaţii - metadate, pentru fiecare tipşimembru din assembly. Aceastemetadate documentează numele de conţinut asociat, informaţii despre tipurile de date solicitate, informaţii cu privire la moştenirea de clasă pentru element și permisiunile de securitate necesare înainte ca elementul să poată fi folosit de către utilizator sau de către alt software. Codul Visual Basic poate spori metadatele pentru orice element din assembly prin atribute. Metadatelegenerate de un atribut sunt mai mult decât doar un număr de identificare. Atributeleimplementeazăclase .NET, cu propriile lor valori de date şi logică asociate.

  22. Metadateşi Atribute Orice cod .NET care ştie cum să prelucreze atribute poate examina atributele pentru un tip sau membru şi să le utilizeze. Se includ Visual Studio, compilatorul Visual Basic, şi propriile aplicatii personalizate. .NET Framework include un atribut numit ObsoleteAttribute. Acest atribut permite săse marchezetipuri sau membri ai assembly ca fiind învechitesau care nu mai sunt suportate. (Visual Studiofoloseste acest atribut pentru a afişa o avertizare ori de câte ori se încearcă să se utilizeze o BCL out-of-data sau o caracteristica FCL.).

  23. Visual Basic Cele mai multe atribute sunt proiectate cu un anumit scop. Unele atribute instruiesc Visual Studio să afişeze membrii unei clase în moduri specifice. La seminarii s-au realizat proiecte în care s-au folosit caracteristicile de editare a unui obiect formă (form) din Visual Studio pentru a proiecta o aplicaţie simplă desktop Windows. Când se adăugă un control (cum ar fi un buton sau o listă), într-o formă şi se selectează acel control, Visual Studio permite să se editeze detaliile acelui control, din panoul Proprietăți .

  24. Visual Basic Spre exemplu Controlul ”Button”este implementat ca o clasă, şi mulţi dintre membrii clasei sale apar în panoul Proprietăți, dar nu toți. Când clasa Button a fost concepută, membrilor săi i-au fost adăugate atribute care-i spun lui Visual Studio ce membrii ar trebui să apară în panoul de Proprietăţi şi care nu. Visual Studio examinează aceste atribute şi afişează numai proprietăţile solicitate.

  25. CURS 7: END

More Related