1 / 28

Metodes jēdziens

Metodes jēdziens. Vispārīgā veidā metode ir programmas koda daļa, kura ir apvienota zem viena nosaukuma. Metodes parasti veic dažādus aprēķinus, un bieži vien no metodes ir nepieciešams nodot kādu vērtību (metodes darbības rezultāts).

azana
Download Presentation

Metodes jēdziens

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. Metodes jēdziens Vispārīgā veidā metode ir programmas koda daļa, kura ir apvienota zem viena nosaukuma. Metodes parasti veic dažādus aprēķinus, un bieži vien no metodes ir nepieciešams nodot kādu vērtību (metodes darbības rezultāts). Metodes veidošanai ir nepieciešams definēt metodes vārdu (nosaukumam jāatbilst tādām pašām prasībām kā mainīgiem), norādīt (ja nepieciešams) metodes parametrus un tieši šīs metodes realizāciju. static void MetodesNosaukums(parametri) { metodes ķermenis } Atslēgas vārds static nozīmē, ka metode var būt izsaukta bez klases objekta izveidošanas. Jebkura cita metode, kura nav statiskā, bez objekta izveidošanas nevar būt izsaukta.

  2. Metodes jēdziens Metode, kura ir definēta ar void atslēgas vārdu, nekādu vērtību neatgriež, piemēram: public partial class Form1 : Form { public Form1() { InitializeComponent(); } static void Izvads(string vards)//metodes definēšana { MessageBox.Show(vards); } //komandpogas nospiešanas notikuma apstrāde private void button1_Click(object sender, EventArgs e) { string ievads1 = textBox1.Text; Izvads(ievads1);//metodes izmantošana } }

  3. Metodes izsaukšana Ja metode ir definēta citā klasē, tai jābūt definētai kā public, un to izsauc izmantojot klases nosaukumu (pēc noklusēšanas visas metodes ir private): public partial class Form1 : Form { public Form1() { InitializeComponent(); } class A//klases definēšana { public static void TestaMetode()//metodes definēšana { MessageBox.Show("Šī ir testa metode"); } } private void button1_Click(object sender, EventArgs e) { A.TestaMetode();//tā atsaukties var tikai uz statisko metodi } }

  4. Izeja no metodes un vērtību atgriešana Ja metode atgriež kādu vērtību (atšķirībā no void), ir nepieciešams paredzēt izeju no šīs metodes (arī atgriežot vērtību) ar return atslēgas vārda palīdzību: int Summa(int a, int b)//metode ar tipu int un 2 parametriem { return a + b;//no metodes atgriežamā vērtība } private void button1_Click(object sender, EventArgs e) { int a = int.Parse(textBox1.Text); int b = int.Parse(textBox2.Text); //izsaucām metodi skaitļu saskaitīšanai label1.Text = Summa(a, b).ToString(); }

  5. Parametru nodošana pēc vērtības Ja parametru nodošana ir realizēta pēc vērtības, tad, nododot šai procedūrai mainīgā vērtību, visas darbības tiek veiktas ar šī mainīgā kopiju, bet sākotnējā mainīgā vērtība paliek nemainīgā: static void Pieaugums(int i) { i++; } private void button1_Click(object sender, EventArgs e) { int i = 1; Pieaugums(i); textBox1.Text = i.ToString();//izvadā ir 1 }

  6. Parametru nodošana pēc atsauces Ja parametru nodošana ir realizēta pēc atsauces, tad, nododot šai procedūrai mainīgā vērtību, atsaucās uz procedūras parametra adresi atmiņā (ar ref atslēgvārda palīdzību). Tādēļ šī mainīgā vērtība arī tiks mainīta procedūras izpildes laikā: static void Pieaugums(ref int i) { i++; } private void button1_Click(object sender, EventArgs e) { int i = 1; Pieaugums(ref i); textBox1.Text = i.ToString(); //izvadā ir 2 }

  7. Metožu pārlādēšana Metožu pārlādēšana ļauj definēt metodes ar vienu un to pašu nosaukumu, bet katras metodes konkrētā realizācija būs atkarīga no parametru tipa un/ vai skaita: static int Mult(int a, int b) { return a * b; } static double Mult(double a, double b) { return a * b; } private void button1_Click(object sender, EventArgs e) { int a = 3, b = 5; double c = 0.2, d = 0.3; textBox1.Text = Mult(a, b).ToString();//izvadā ir 15 textBox2.Text = Mult(c, d).ToString();//izvadā ir 0.06 }

  8. ADO.NET ADO.NET ir tehnoloģija, kura nodrošina mijiedarbību ar datu bāzēm. Ir izstrādātas vairākas klases, kuras realizē šo tehnoloģiju un ļauj nolasīt un ierakstīt informāciju SQL Server, Oracle, MS Access un citās datu bāzēs. Apskatīsim ADO.NET tehnoloģiju uz MS SQL Server datu bāzes piemēra. Pirms pētīt ADO.NET klašu funkcionalitāti, ir nepieciešams iepazīties ar MS SQL Server DBVS un valodas SQL pamatiem. Darbam ar MS SQL Server ļoti ērti ir izmantot MS SQL Server Management Studio. Tā ir grafiskā utilīta ar dažādiem veidiem (dizaineriem), kuri būtiski atvieglo darbu ar datu bāzi. MS Visual Studio 2005 Standard Edition iekļauj sevī MS SQL Server Express ierobežoto versiju, kuras funkcionalitāte ir pilnībā pietiekama neliela un vidēja izmēra datu bāžu veidošanai. SQL Server Management Studio utilītu jāinstalē atsevišķi (tas ir brīvi pieejams Microsoft weblapā.

  9. Datu bāzes nosaukums Izvēlētās datu bāzes tabulas Datu bāzes skatījumi SQL Server Management Studio

  10. Šeit var pievienot jauno rindu SQL Server Management Studio Jaunas tabulas pievienošanas secība ir šāda: peles labais taustiņš uz Tables un New Table. Tad ieraksta kolonnu nosaukumus, definē katras kolonnas datu tipus un izvēlas citus papildus ierobežojumus (primārā atslēga, tukšo vērtību esamība utt.). Informācijas ierakstīšanai tabulā izmanto komandu Open Table:

  11. 1. Izvēlas New Query 2. Ieraksta pieprasījumu 3. Izpilda pieprasījumu 4. Pieprasījuma rezultāti SQL Server Management Studio Neskatoties uz to, ka vairākās darbības ir iespējams veikt ar grafisko utilītu, tomēr reālās pielietojuma programmās būs jāizmanto pieprasījumi, kurus veido ar SQL valodas palīdzību. Management Studio ļauj rakstīt SQL pieprasījumus un izpildīt tos, interaktīvi iegūstot tās izpildes rezultātus.

  12. Relāciju datu bāzes Relāciju modelis bija mēģinājums vienkāršot datu bāzes struktūru. Tajā nebija norāžu uz priekštečiem un pēctečiem, bet visi dati tika pasniegti tabulu veidā, kuras sadalītas rindās un kolonnās. Relāciju datu bāze ir tad, kad visi dati, kas pieejami lietotājam, tiek organizēti tabulu veidā, bet visas operācijas ar datiem ir operācijas ar šīm tabulām. Tabulas Relāciju datu bāzē katrai tabulai ir unikāls nosaukums, kas apraksta tās saturu. Katrai tabulai ir vismaz viena kolonna. ANSI/ISO standartā netiek minēts par maksimāli pieļaujamo kolonnu skaitu tabulā, tomēr gandrīz visās DBVS šī robeža pastāv – 255 kolonnas.

  13. Tabula var saturēt jebkuru rindu skaitu, pie tam, tā var nesaturēt arī nevienu rindu. Šāda tabula saucas par tukšu tabulu. Tā saglabā savu struktūru, bet tajā nav nekādu datu. Atšķirībā no tabulas kolonnām, rindām nav noteiktas secības. Tas nozīmē, ka, secīgi izpildot divus vienādus pieprasījumus, nav garantijas, ka rindas būs uzrādītas vienā un tajā pašā secībā (ja nav kārtošanas). Primārās atslēgas Tā kā rindas relāciju tabulā nav sakārtotas, nav iespējams izvēlēties rindu pēc tās numura tabulā. Pareizi organizētā relāciju datu bāzē katrā tabulā ir viena vai vairākas kolonnas, kurās vērtības visās rindās ir atšķirīgas. Šāda kolonna saucas par tabulas primāro atslēgu. Ir gadījumi, kad primārā atslēga ir tabulas kolonnu kombinācija. Šāda primārā atslēga tiek saukta par salikto primāro atslēgu.

  14. MFR_ID PRODUCT_ID DESCRIPTION PRICE REI 2A45C Remover 2750 ACI 2FU5J Reducer 355 QSA 22YB3 Reducer 400 ... ... ... ... Kolonna MFR_ID norāda izstrādājumu ražotāju identifikatorus, kolonnā PRODUCT_ID doti izstrādājumu identifikatori, DESCRIPTION satur izstrādājuma nosaukumu un PRICE izstrādājuma cenu. It kā kolonna PRODUCT_ID var kalpot par primāro atslēgu, tomēr dažādi ražotāji var piešķirt vienādu identifikatoru dažādiem izstrādājumiem. Šādai tabulai primārā atslēga būs kolonnu MFR_ID un PRODUCT_ID kombinācija. Tabula, kurā visas rindas atšķiras viena no otrās, matemātiskā terminoloģijā tiek saukta par attiecību (tieši tāpēc tādas DB sauc par relāciju – angļu “relation”).

  15. Viena no relāciju datu modeļa atšķirībām no iepriekšējiem modeļiem ir tiešu norāžu trūkums saikņu priekštecis / pēctecis realizācijai. Šīs saiknes ir realizētas ar vienādām datu vērtībām dažādās tabulās. Viena no galvenajām SQL priekšrocībām ir spēja nolasīt šādā veidā saistītus datus. Ārējā atslēga ir tabulas kolonna, kurā vērtības sakrīt ar citas tabulas primārās atslēgas vērtībām. Kolonnu skaits primārajā un ārējā atslēgā sakrīt, tādēļ arī ārējā atslēga tāpat kā primārā var būt kolonnu kombinācija. Ārējās atslēgas ir neatņemama relāciju datu modeļa sastāvdaļa, jo ar to palīdzību tiek realizēta saistība starp tabulām.

  16. Parastie datu nolasīšanas pieprasījumi Lai pieprasītu datus par visām kolonnām, lieto “*”: SELECT * FROM salesreps Pieprasījuma ierobežošanai var uzdot kolonnu nosaukumus: SELECT name, hire_date, city FROM salesreps Kolonnas aizstājvārds tiek definēts pēc kolonnas nosaukuma: SELECT name, hire_date, city GOROD FROM salesreps

  17. Veidojot pieprasījumu nereti tiek izmantota klauzula DISTINCT, kas paredzēta, lai atlasē tiktu iekļautas tikai dažādās rindas. Ja atslēgas vārds DISTINCT nav norādīts, var norādīt ALL, kurš nozīmē, ka visas rindas tiks attēlotas neatkarīgi no atkārtošanas: SELECT name FROM emp NAME --------- Allen Allen Ward Allen Ward SELECT DISTINCT name FROM emp NAME --------- Allen Ward

  18. SELECT city, region, (sales-target) FROM officesORDER BY 3 DESC CITY REGION (SALES-TARGET) ------------------ ------------ ------------------------ Chicago Eastern 20000 Los Angeles Western 4700 Denver Western 1500 Atlanta Eastern 1000 New York Eastern 300 Lai atgriežamās rindas sakārtotu pēc kāda viena vai vairākiem laukiem, lieto klauzulu ORDER BY. Noklusētā kārtošanas secība ir augoša. Lai sakārtotu rindas dilstošā secībā, pēc kolonnas nosaukuma lieto atslēgas vārdu DESC. SELECT city, region, sales FROM offices ORDER BY region, city CITY REGION SALES ------------------ ------------ -------------- Atlanta Eastern 1000 Chicago Eastern 20000 New York Eastern 300 Denver Western 1500 Los Angeles Western 4700

  19. Operators Nozīme = vienāds ar > lielāks >= lielāks vai vienāds < mazāks Loģiskie operatori <= mazāks vai vienāds Ar WHERE klauzulas palīdzību ir iespējams ierobežot atlasāmo rindu skaitu, uzdodot nosacījumu, kam ir jāizpildās tikai atlasāmajām rindām. WHERE klauzulā salīdzinājumos var lietot kolonnas, literāļus, aritmētiskas operācijas vai funkcijas. Salīdzināšanas operatori iedalās loģiskajos un SQL operatoros.

  20. Operators Nozīme BETWEEN…AND… starp divām vērtībām IN atbilst jebkurai vērtībai sarakstā LIKE atbilst simbolu šablonam IS NULL ir NULL vērtība SQL operatori

  21. Simbolu virknes un datumi, lietojot loģiskos operatorus, ir jāatdala ar apostrofiem. SELECT name, job FROM emp WHEREjob=’Clerk’ Operators BETWEEN pārbauda vērtības starp norādīto mazāko un lielāko vērtību: SELECT name CLERK_NAME FROM emp WHERE pay BETWEEN 100 AND 200 Operators IN pārbauda vērtības norādītajā sarakstā: SELECT name FROM emp WHERE pay IN(100,102,150,154,158)

  22. LIKE operatoram norāda simbolu virkni, kas satur aizstājējzīmes. Simbols “%” attēlo jebkuru simbolu virkni ar garumu 0 vai vairāk. Viena jebkura simbola aizstāšanai izmanto simbolu “_”: SELECT name FROM emp WHERE name LIKE ‘S%’ Lai nolasītu tos datus, kas satur tikai četrus simbolus, lieto šādu pieprasījumu: SELECT name FROM emp WHERE name LIKE ‘_ _ _ _’ IS NULL operators atlasa ierakstus ar null vērtībām: SELECT name FROM emp WHERE pass_id IS NULL

  23. Operators Paskaidrojums NOT BETWEEN nav starp divām norādītajām vērtībām NOT IN nav norādītajā vērtību sarakstā NOT LIKE nav pēc virknes šablona IS NOT NULL nav null vērtība Negāciju operatori Nav vienāds var būt pierakstāms dažādi, viens no variantiem <> Piemēram, šāds pieprasījums izvadīs visus darbiniekus, kuriem jau ir noteikta viņu darba vieta: SELECT name FROM salesreps WHERE rep_office IS NOT NULL

  24. Pieprasījumi ar vairākiem nosacījumiem Lai veidotu saliktas loģiskās izteiksmes, lieto operatorus AND un OR. Veidojot loģisko izteiksmi jāatceras, ka visi operatori ir sakārtoti pēc to prioritātes: 1.līmenis. Visiem salīdzināšanas un SQL operatoriem ir vienāda prioritāte. <>, <, >, <=, >=, BETWEEN …AND, IN, LIKE, IS NULL 2.līmenis. Nolieguma operators NOT. 3.līmenis.Loģiskais operators AND. 4.līmenis.Loģiskais operators OR. Augstākā prioritāte ir 1.līmenim.

  25. Nākošā komanda parāda sarežģītu datu pieprasījumu, kurš atrod visus darbiniekus: a) kuri strādā Rīgā, Ludzā vai Rēzeknē; vai b) kuriem nav vadītāja un kuri bija pieņemti darbā pēc 1998.g.jūnija; vai c) kuri pārsniedza plānoto pārdošanas apjomu, bet nav sasniegusi 3000 līmeni: SELECT name FROM salesreps WHERE (rep_office IN (‘Riga’, ‘Ludza’, ‘Rezekne’) OR (manager IS NULL AND hire_date >=’01-JUN-98’) OR (sales > quota AND NOT sales > 3000)

  26. Informācijasierakstīšana tabulā Šī komanda ievietos papildus rindu tabulā dept, kurā ir trīs laukumi. Šajā gadījumā jāzina kāda secībā ir izvietoti tabulas laukumi (to nosaka tabulas izveidošanas laikā): INSERT INTO dept       VALUES (50, 'PRODUCTION', 'SAN FRANCISCO') Šo trūkumu var novērst izmantojot šādas komandas: INSERT INTO dept (dept_num, dept_name, adress)     VALUES (50, ‘PRODUCTION’, ‘SAN FRANCISCO’)

  27. Esošās informācijas mainīšana tabulā Šī komanda izmaina darbinieka Valdis numuru: UPDATE darbinieki SET dar_num = 1356 WHERE name = 'Valdis' Nākošais pieprasījums notiks gadījumā, kad JONES tiek pārcelta uz menedžera amatu ar algas palielinājumu 1000 Ls un citā nodaļā. UPDATE darbinieki     SET job = 'MANAGER', alga = alga + 1000, deptno = 20     WHERE ename = 'JONES';

  28. Informācijas nodzēšana Dotā komanda nodzēsis visas rindas no tabulas darbs: DELETE FROM darbs Nākošais operators nodzēsis no tabulas darbinieki visus tirdzniecības aģentus, kuru komisijas nauda ir mazākā par 30 Ls pēdējā mēnesī. DELETE FROM darbinieki     WHERE darbs = 'TIRDZ_AGENT' AND KOMM < 30

More Related