{"id":993,"date":"2025-09-30T08:52:53","date_gmt":"2025-09-30T06:52:53","guid":{"rendered":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/?p=993"},"modified":"2025-09-30T08:52:53","modified_gmt":"2025-09-30T06:52:53","slug":"c-oop","status":"publish","type":"post","link":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993","title":{"rendered":"C# OOP"},"content":{"rendered":"\n<p>Objektorienteeritud programmeerimise m\u00f5isted. Ajalugu<\/p>\n\n\n\n<p><strong>Objektorienteeritud programmeerimine<\/strong> (OOP) on programmeerimise paradigma, mis kasutab &#8220;objekte&#8221; \u2013 andmestruktuure, mis koosnevad andmev\u00e4ljadest ning meetoditest. Kasutusel v\u00f5ivad olla selliseid v\u00f5tted nagu andmete abstraktsioon, kapseldamine, modulaarsus, pol\u00fcmorfism ning p\u00e4rimine. Kuni 1990-ndateni polnud objektorienteeritud programmeerimine tarkvaraarenduses kuigiv\u00f5rd levinud, kuid t\u00e4nap\u00e4eval on selle tugi juba paljudesse programmeerimiskeeltesse sisse ehitatud.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><strong>\u041e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/strong> (\u041e\u041e\u041f) \u2014 \u044d\u0442\u043e \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u00ab\u043e\u0431\u044a\u0435\u043a\u0442\u044b\u00bb \u2014 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0438\u0437 \u043f\u043e\u043b\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u041c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u0438\u0435\u043c\u044b, \u043a\u0430\u043a \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u044f, \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u043c \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435. \u0414\u043e 1990-\u0445 \u0433\u043e\u0434\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u0448\u0438\u0440\u043e\u043a\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043e \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u043d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0435\u0433\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0443\u0436\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u044f\u0437\u044b\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">P\u00f5hilised ideed<\/h2>\n\n\n\n<p><strong>Klass<\/strong><\/p>\n\n\n\n<p><em>Pikemalt artiklis <a href=\"https:\/\/et.wikipedia.org\/wiki\/Klass_(programmeerimine)\">Klass (programmeerimine)<\/a><\/em><\/p>\n\n\n\n<p>Klass defineerib olemi (objekti) abstraktsed omadused, muuhulgas ka olemi iseloomustavad omadused ning olemi k\u00e4itumise ja oskused. Klass on nagu \u0161abloon, mis kirjeldab millegi olemust. N\u00e4iteks klass <strong>Koer<\/strong> koosneks k\u00f5igile koertele omastest omadustest nagu n\u00e4iteks t\u00f5ug ja kasuka v\u00e4rv ning oskustest nagu haukumine ja istumine. Objektorienteeritud programmis on klassid need, mis pakuvad modulaarsust ning struktuuri.<\/p>\n\n\n\n<p><strong>N\u00e4ide:<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\npublic class Inimene\n{\n    public string Nimi;\n    public int Vanus;\n\n    public void Tervita()\n    {\n        Console.WriteLine(&quot;Tere! Mina olen &quot; + Nimi);\n    }\n}\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>\u041a\u043b\u0430\u0441\u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0435\u0433\u043e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u0435 \u0447\u0435\u0440\u0442\u044b, \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0438 \u043d\u0430\u0432\u044b\u043a\u0438. \u041a\u043b\u0430\u0441\u0441 \u2014 \u044d\u0442\u043e \u043a\u0430\u043a \u0448\u0430\u0431\u043b\u043e\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c \u0447\u0435\u0433\u043e-\u043b\u0438\u0431\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043b\u0430\u0441\u0441 \u00ab<strong>\u0421\u043e\u0431\u0430\u043a\u0430<\/strong>\u00bb \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432, \u043f\u0440\u0438\u0441\u0443\u0449\u0438\u0445 \u0432\u0441\u0435\u043c \u0441\u043e\u0431\u0430\u043a\u0430\u043c, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043f\u043e\u0440\u043e\u0434\u0430 \u0438 \u043e\u043a\u0440\u0430\u0441 \u0448\u0435\u0440\u0441\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0432\u044b\u043a\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043b\u0430\u0439 \u0438 \u0441\u0438\u0434\u0435\u043d\u0438\u0435. \u0412 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"yui_3_17_2_1_1758186079224_579\">Objekt<\/h2>\n\n\n\n<p><strong>Objekt on klassi eksemplar.<\/strong><\/p>\n\n\n\n<p>&lt;private&gt;, &lt;protected&gt;, &lt;public&gt;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"yui_3_17_2_1_1758186079224_579\">Eksemplar<\/h2>\n\n\n\n<p>Klassist saab luua eksemplari. Eksemplar on tegelik objekt, mis tekitatakse programmi t\u00e4itmisajal. Objekt <em>Pauka<\/em> on klassi <strong>Koer<\/strong> eksemplar. Objekti olekuks nimetatakse tema atribuutide v\u00e4\u00e4rtust. Objekt koosneb olekust ning k\u00e4itumisviisidest, mis on defineeritud selle objekti klassis.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>\u0418\u0437 \u043a\u043b\u0430\u0441\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440. \u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u2014 \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u041e\u0431\u044a\u0435\u043a\u0442 Pauka \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0430 \u00ab<strong>\u0421\u043e\u0431\u0430\u043a\u0430<\/strong>\u00bb. \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0435\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432. \u041e\u0431\u044a\u0435\u043a\u0442 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"yui_3_17_2_1_1758186079224_579\">Meetod<\/h1>\n\n\n\n<p>Meetod on objekti v\u00f5ime midagi teha. Meetodeid m\u00e4rgitakse tegus\u00f5naga. <em>Pauka<\/em> on <strong>Koer<\/strong>, seega on tal v\u00f5ime haukuda. Seega<mark style=\"color:#0693e3\" class=\"has-inline-color\"> <code>haugu()<\/code><\/mark><mark style=\"color:#cf2e2e\" class=\"has-inline-color\"><code> <\/code><\/mark>on \u00fcks <em>Pauka<\/em> meetoditest. Tal v\u00f5ib olla ka teisi meetodeid, n\u00e4iteks <code><mark style=\"color:#0693e3\" class=\"has-inline-color\">istu()<\/mark><\/code>, <code><mark style=\"color:#0693e3\" class=\"has-inline-color\">s\u00f6\u00f6()<\/mark><\/code> v\u00f5i <code><mark style=\"color:#0693e3\" class=\"has-inline-color\">k\u00f5nni()<\/mark><\/code>. Meetod m\u00f5jutab tavaliselt ainult \u00fchte kindlat objekti. K\u00f5ik <strong>Koer<\/strong> t\u00fc\u00fcpi objektid suudavad haukuda, kuid on vaja panna \u00fcks kindel koer haukuma.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>\u041c\u0435\u0442\u043e\u0434 \u2014 \u044d\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0447\u0442\u043e-\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c. \u041c\u0435\u0442\u043e\u0434\u044b \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442\u0441\u044f \u0433\u043b\u0430\u0433\u043e\u043b\u043e\u043c. \u041f\u0430\u0443\u043a\u0430 \u2014 \u044d\u0442\u043e \u0441\u043e\u0431\u0430\u043a\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0430 \u0443\u043c\u0435\u0435\u0442 \u043b\u0430\u044f\u0442\u044c. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0433\u0430\u0432\u043a\u0430\u0442\u044c() \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u041f\u0430\u0443\u043a\u0430. \u0423 \u043d\u0435\u0433\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u0438\u0434\u0435\u0442\u044c(), \u0435\u0441\u0442\u044c() \u0438\u043b\u0438 \u0445\u043e\u0434\u0438\u0442\u044c(). \u041c\u0435\u0442\u043e\u0434 \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043e\u0434\u0438\u043d \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442. \u0412\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0442\u0438\u043f\u0430 \u0421\u043e\u0431\u0430\u043a\u0430 \u043c\u043e\u0433\u0443\u0442 \u0433\u0430\u0432\u043a\u0430\u0442\u044c, \u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0433\u0430\u0432\u043a\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0441\u043e\u0431\u0430\u043a\u0443.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">P\u00e4rimine<\/h1>\n\n\n\n<p>Alamklassid on klassi kitsam versioon, mis p\u00e4rib omadused ja k\u00e4itumise oma \u00fclemklassilt ning v\u00f5ivad lisada enda omi. N\u00e4iteks klass <strong>Koer<\/strong> v\u00f5ib omada alamklasse <strong>Terjer<\/strong>, <strong>Taks<\/strong>. Pauka v\u00f5iks ka olla klassi <strong>Koer<\/strong> alamklassi <strong>Hurt<\/strong> eksemplar. Oletame, et klass <strong>Koer<\/strong> defineerib meetodi <code>haugu()<\/code> ning omaduse <code>kasukaV\u00e4rv<\/code>. Iga selle alamklass p\u00e4rib need liikmed ehk kood tuleb kirjutada ainult \u00fcks kord. Iga alamklass saab ka muuta oma p\u00e4ritud omadusi, n\u00e4iteks vaikimisi oleks <code>kasukaV\u00e4rv<\/code> <strong>Taks<\/strong> t\u00fc\u00fcpi objektidel pruunikas. P\u00e4rimine on &#8220;x on y&#8221; seose t\u00fc\u00fcp. <strong>Hurt<\/strong> on <strong>Koer<\/strong>, Pauka on <strong>Hurt<\/strong>. Seega omab objekt Pauka omadusi nii klassist <strong>Hurt<\/strong> kui ka klassist <strong>Koer<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>\u041f\u043e\u0434\u043a\u043b\u0430\u0441\u0441\u044b \u2014 \u044d\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0443\u0437\u043a\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u044e\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043e\u0442 \u0441\u0432\u043e\u0438\u0445 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438 \u043c\u043e\u0433\u0443\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043b\u0430\u0441\u0441 \u00ab\u0421\u043e\u0431\u0430\u043a\u0430\u00bb \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u0430\u0441\u0441\u044b \u00ab\u0422\u0435\u0440\u044c\u0435\u0440\u00bb \u0438 \u00ab\u0422\u0430\u043a\u0441\u0430\u00bb. \u041f\u0430\u0443\u043a\u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u0430\u0441\u0441\u0430 \u00ab\u0425\u043e\u0440\u0442\u00bb \u043a\u043b\u0430\u0441\u0441\u0430 \u00ab\u0421\u043e\u0431\u0430\u043a\u0430\u00bb. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043a\u043b\u0430\u0441\u0441 \u00ab\u0421\u043e\u0431\u0430\u043a\u0430\u00bb \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043c\u0435\u0442\u043e\u0434 haugu() \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e kasukaV\u00e4rv. \u041a\u0430\u0436\u0434\u044b\u0439 \u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u0430\u0441\u0441 \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u044d\u0442\u0438 \u0447\u043b\u0435\u043d\u044b, \u0442\u043e \u0435\u0441\u0442\u044c \u043a\u043e\u0434 \u043d\u0443\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u041a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u0434\u043a\u043b\u0430\u0441\u0441 \u043c\u043e\u0436\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e kasukaV\u00e4rv \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0442\u0438\u043f\u0430 \u0422\u0430\u043a\u0441\u0430 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u0440\u0438\u0447\u043d\u0435\u0432\u044b\u043c. \u041d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u2014 \u044d\u0442\u043e \u0442\u0438\u043f \u0441\u0432\u044f\u0437\u0438 \u00abx \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f y\u00bb. \u0428\u0435\u0440\u0441\u0442\u044c \u2014 \u044d\u0442\u043e \u0421\u043e\u0431\u0430\u043a\u0430, \u041f\u0430\u0443\u043a\u0430 \u2014 \u044d\u0442\u043e \u0428\u0435\u0440\u0441\u0442\u044c. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043e\u0431\u044a\u0435\u043a\u0442 \u041f\u0430\u0443\u043a\u0430 \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043a\u0430\u043a \u043e\u0442 \u043a\u043b\u0430\u0441\u0441\u0430 \u0428\u0435\u0440\u0441\u0442\u044c, \u0442\u0430\u043a \u0438 \u043e\u0442 \u043a\u043b\u0430\u0441\u0441\u0430 \u0421\u043e\u0431\u0430\u043a\u0430.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Abstraktsioon<\/h1>\n\n\n\n<p>Abstraktsioon on keerulise reaalse probleemi lihtsustamine modelleerides probleemile vastavaid klasse ning probleemile vastaval p\u00e4rimisastmel. N\u00e4iteks v\u00f5ib Paukat, kes on <strong>Koer<\/strong>, k\u00e4sitleda kui <strong>Koer<\/strong> t\u00fc\u00fcpi objekti suurem osa ajast, <strong>Hurt<\/strong> t\u00fc\u00fcpi objekti, kui on vaja ligi p\u00e4\u00e4seda tema hurdalikele omadustele ja k\u00e4itumisele ning <strong>Loom<\/strong> t\u00fc\u00fcpi objekti (<strong>Koer<\/strong> \u00fclemklass), kui Juku tahab kokku lugeda, kui palju on tal lemmikloomi. Abstraktsiooni saavutatakse ka kompositsiooni abil. N\u00e4iteks klass <strong>Auto<\/strong> sisaldab <strong>Mootor<\/strong>, <strong>K\u00e4igukast<\/strong>, <strong>Roolis\u00fcsteem<\/strong> ja palju muid t\u00fc\u00fcpi objekte. Klassi <strong>Auto<\/strong> loomiseks ei ole vaja teada, kuidas erinevad komponendid sisemiselt t\u00f6\u00f6tavad, kuid on vaja teada, kuidas nendega suhelda (saata ja vastu v\u00f5tta teateid).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>\u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f \u2014 \u044d\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u0443\u0442\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435, \u0438 \u0443\u0440\u043e\u0432\u043d\u044f \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u041f\u0430\u0443\u043a\u0430\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0421\u043e\u0431\u0430\u043a\u043e\u0439, \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u044a\u0435\u043a\u0442 \u0442\u0438\u043f\u0430 \u0421\u043e\u0431\u0430\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043e\u0431\u044a\u0435\u043a\u0442 \u0442\u0438\u043f\u0430 \u0425\u043e\u0440\u0442, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0435\u0433\u043e \u0448\u0435\u0440\u0441\u0442\u0438\u0441\u0442\u044b\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c \u0438 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e, \u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0442\u0438\u043f\u0430 \u0416\u0438\u0432\u043e\u0442\u043d\u043e\u0435 (\u043d\u0430\u0434\u043a\u043b\u0430\u0441\u0441 \u0421\u043e\u0431\u0430\u043a\u0430), \u043a\u043e\u0433\u0434\u0430 \u042e\u043a\u0443 \u0445\u043e\u0447\u0435\u0442 \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443 \u043d\u0435\u0433\u043e \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0445 \u0436\u0438\u0432\u043e\u0442\u043d\u044b\u0445. \u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043b\u0430\u0441\u0441 \u00ab\u0410\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c\u00bb \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u00ab\u0414\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044c\u00bb, \u00ab\u041a\u043e\u0440\u043e\u0431\u043a\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u00bb, \u00ab\u0420\u0443\u043b\u0435\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u00bb \u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0438\u043f\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u00ab\u0410\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c\u00bb \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0432\u043d\u0443\u0442\u0440\u0438, \u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u0441 \u043d\u0438\u043c\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c (\u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Kapseldamine<\/h1>\n\n\n\n<p>Kapseldamine eraldab klassi funktsionaalse sisu ja liidese. Meetodi <code>haugu()<\/code> sisu defineerib, kuidas haukumine toimub (<code>hingaSisse()<\/code>, <code>hingaV\u00e4lja()<\/code>, <code>teeTeatudK\u00f5rgusegaH\u00e4\u00e4lt()<\/code>). Juku ei pea teadma, kuidas see k\u00f5ik tegelikult toimub, talle on vaja teada, kuidas seda esile kutsuda. Kapseldamise saavutamiseks kirjeldatakse, millised klassid v\u00f5ivad objekti liikmeid kasutada. Tulemuseks on see, et objekt eksponeerib igale klassile kindla liidese &#8211; liikmed, mis on sellele klassile k\u00e4ttesaadavad. Eesm\u00e4rgiks on see, et selle liidese kliendid ei s\u00f5ltuks realisatsiooni nendest osadest, mis v\u00f5ivad tulevikus muutuda. Muudatuste tegemine muutub aga lihtsamaks.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>\u041a\u0430\u043f\u0441\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u0434\u0435\u043b\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 \u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 haugu() \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043b\u0430\u0439 (hingaSisse(), hingaV\u00e4lja(), teeTeatudK\u00f5rgusegaH\u00e4\u00e4lt()). Juku \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u0432\u0441\u0435 \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c. \u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u0438 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0447\u043b\u0435\u043d\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u0430. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 \u044d\u043a\u0441\u043f\u043e\u043d\u0438\u0440\u0443\u0435\u0442 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u2014 \u0447\u043b\u0435\u043d\u044b, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u0426\u0435\u043b\u044c \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0435\u043b\u0438 \u043e\u0442 \u0442\u0435\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0449\u0435.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Pol\u00fcmorfism<\/h1>\n\n\n\n<p>Pol\u00fcmorfism v\u00f5imaldab programmeerijal k\u00e4sitleda p\u00e4ritud klassi eksemplare kui \u00fclemklassi eksemplare. Pol\u00fcmorfism t\u00e4hendab seda, et erinevat t\u00fc\u00fcpi objektid reageerivad sama nimega meetodi v\u00e4ljakutsetele, kuid k\u00e4itumine s\u00f5ltub objekti t\u00fc\u00fcbist. Olgu meil klassid <strong>Koer<\/strong> ja <strong>Siga<\/strong>, mis on m\u00f5lemad p\u00e4ritud klassist <strong>Loom<\/strong>, mis sisaldab meetodit <code>\u00fctleMidagi()<\/code>. Nii <strong>Siga<\/strong> kui ka <strong>Koer<\/strong> t\u00fc\u00fcpi objektid sisaldavad meetodit <code>\u00fctleMidagi()<\/code>, kuid selle meetodi sisu on kahel erinev. Kui meil on <strong>Koer<\/strong> t\u00fc\u00fcpi objekt <em>koer<\/em> ja <strong>Siga<\/strong> t\u00fc\u00fcpi objekt <em>siga<\/em>, aga me k\u00e4sitleme neid kui <strong>Loom<\/strong> t\u00fc\u00fcpi objekte, siis on m\u00f5lemad v\u00f5imalik panna h\u00e4\u00e4litsema, kasutades meetodit <code>\u00fctleMidagi()<\/code>, objekti <em>koer<\/em> puhul aga kutsutakse objektisiseselt v\u00e4lja meetod <code>haugu()<\/code> ning objekti <em>siga<\/em> puhul meetod <code>r\u00f6hitse()<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p id=\"tw-target-text\">\u041f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u043c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u0430\u043a \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u0441\u0443\u043f\u0435\u0440\u043a\u043b\u0430\u0441\u0441\u0430. \u041f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u043c \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u043d\u0430 \u0432\u044b\u0437\u043e\u0432\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c, \u043d\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u0438\u043f\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u043b\u0430\u0441\u0441\u044b Dog \u0438 Pig, \u043e\u0431\u0430 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u044b \u043e\u0442 \u043a\u043b\u0430\u0441\u0441\u0430 Animal, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u0435\u0442\u043e\u0434 saySomething(). \u041e\u0431\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Pig \u0438 Dog \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043c\u0435\u0442\u043e\u0434 saySomething(), \u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0434\u043b\u044f \u043d\u0438\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e. \u0415\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442 \u0442\u0438\u043f\u0430 Dog \u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0442\u0438\u043f\u0430 Pig, \u043d\u043e \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u0438\u0445 \u043a\u0430\u043a \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0442\u0438\u043f\u0430 Animal, \u0442\u043e \u043e\u0431\u0430 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0437\u0432\u0443\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 saySomething(), \u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Dog \u0432\u043d\u0443\u0442\u0440\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 bark(), \u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Pig \u0432\u043d\u0443\u0442\u0440\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 burp().<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Objektorienteeritud programmeerimise m\u00f5isted. Ajalugu Objektorienteeritud programmeerimine (OOP) on programmeerimise paradigma, mis kasutab &#8220;objekte&#8221; \u2013 andmestruktuure, mis koosnevad andmev\u00e4ljadest ning meetoditest. Kasutusel v\u00f5ivad olla selliseid v\u00f5tted nagu andmete abstraktsioon, kapseldamine, modulaarsus, pol\u00fcmorfism ning p\u00e4rimine. Kuni 1990-ndateni polnud objektorienteeritud programmeerimine tarkvaraarenduses kuigiv\u00f5rd levinud, kuid t\u00e4nap\u00e4eval on selle tugi juba paljudesse programmeerimiskeeltesse sisse ehitatud. \u041e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u041e\u041e\u041f) \u2014 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-993","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>C# OOP - Hussein Tahmazov portfolio eng<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C# OOP - Hussein Tahmazov portfolio eng\" \/>\n<meta property=\"og:description\" content=\"Objektorienteeritud programmeerimise m\u00f5isted. Ajalugu Objektorienteeritud programmeerimine (OOP) on programmeerimise paradigma, mis kasutab &#8220;objekte&#8221; \u2013 andmestruktuure, mis koosnevad andmev\u00e4ljadest ning meetoditest. Kasutusel v\u00f5ivad olla selliseid v\u00f5tted nagu andmete abstraktsioon, kapseldamine, modulaarsus, pol\u00fcmorfism ning p\u00e4rimine. Kuni 1990-ndateni polnud objektorienteeritud programmeerimine tarkvaraarenduses kuigiv\u00f5rd levinud, kuid t\u00e4nap\u00e4eval on selle tugi juba paljudesse programmeerimiskeeltesse sisse ehitatud. \u041e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u041e\u041e\u041f) \u2014 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993\" \/>\n<meta property=\"og:site_name\" content=\"Hussein Tahmazov portfolio eng\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-30T06:52:53+00:00\" \/>\n<meta name=\"author\" content=\"Hussein\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hussein\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?p=993#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?p=993\"},\"author\":{\"name\":\"Hussein\",\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/#\\\/schema\\\/person\\\/f75baafdedeb73cd9ef1d8d87311bbb0\"},\"headline\":\"C# OOP\",\"datePublished\":\"2025-09-30T06:52:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?p=993\"},\"wordCount\":1281,\"commentCount\":0,\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?p=993#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?p=993\",\"url\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?p=993\",\"name\":\"C# OOP - Hussein Tahmazov portfolio eng\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/#website\"},\"datePublished\":\"2025-09-30T06:52:53+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/#\\\/schema\\\/person\\\/f75baafdedeb73cd9ef1d8d87311bbb0\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?p=993#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?p=993\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?p=993#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C# OOP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/#website\",\"url\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/\",\"name\":\"Hussein Tahmazov portfolio eng\",\"description\":\"Junior Software Developer\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/#\\\/schema\\\/person\\\/f75baafdedeb73cd9ef1d8d87311bbb0\",\"name\":\"Hussein\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e10dcd9bae99726932e7824a93117d2a279e021c0f4ff3cc2972016580127314?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e10dcd9bae99726932e7824a93117d2a279e021c0f4ff3cc2972016580127314?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e10dcd9bae99726932e7824a93117d2a279e021c0f4ff3cc2972016580127314?s=96&d=mm&r=g\",\"caption\":\"Hussein\"},\"sameAs\":[\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\"],\"url\":\"https:\\\/\\\/khusseintakhmazov24.thkit.ee\\\/wp\\\/eng\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C# OOP - Hussein Tahmazov portfolio eng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993","og_locale":"en_GB","og_type":"article","og_title":"C# OOP - Hussein Tahmazov portfolio eng","og_description":"Objektorienteeritud programmeerimise m\u00f5isted. Ajalugu Objektorienteeritud programmeerimine (OOP) on programmeerimise paradigma, mis kasutab &#8220;objekte&#8221; \u2013 andmestruktuure, mis koosnevad andmev\u00e4ljadest ning meetoditest. Kasutusel v\u00f5ivad olla selliseid v\u00f5tted nagu andmete abstraktsioon, kapseldamine, modulaarsus, pol\u00fcmorfism ning p\u00e4rimine. Kuni 1990-ndateni polnud objektorienteeritud programmeerimine tarkvaraarenduses kuigiv\u00f5rd levinud, kuid t\u00e4nap\u00e4eval on selle tugi juba paljudesse programmeerimiskeeltesse sisse ehitatud. \u041e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u041e\u041e\u041f) \u2014 [&hellip;]","og_url":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993","og_site_name":"Hussein Tahmazov portfolio eng","article_published_time":"2025-09-30T06:52:53+00:00","author":"Hussein","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Hussein","Estimated reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993#article","isPartOf":{"@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993"},"author":{"name":"Hussein","@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/#\/schema\/person\/f75baafdedeb73cd9ef1d8d87311bbb0"},"headline":"C# OOP","datePublished":"2025-09-30T06:52:53+00:00","mainEntityOfPage":{"@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993"},"wordCount":1281,"commentCount":0,"articleSection":["Uncategorized"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993#respond"]}]},{"@type":"WebPage","@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993","url":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993","name":"C# OOP - Hussein Tahmazov portfolio eng","isPartOf":{"@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/#website"},"datePublished":"2025-09-30T06:52:53+00:00","author":{"@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/#\/schema\/person\/f75baafdedeb73cd9ef1d8d87311bbb0"},"breadcrumb":{"@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?p=993#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng"},{"@type":"ListItem","position":2,"name":"C# OOP"}]},{"@type":"WebSite","@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/#website","url":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/","name":"Hussein Tahmazov portfolio eng","description":"Junior Software Developer","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/#\/schema\/person\/f75baafdedeb73cd9ef1d8d87311bbb0","name":"Hussein","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/e10dcd9bae99726932e7824a93117d2a279e021c0f4ff3cc2972016580127314?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e10dcd9bae99726932e7824a93117d2a279e021c0f4ff3cc2972016580127314?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e10dcd9bae99726932e7824a93117d2a279e021c0f4ff3cc2972016580127314?s=96&d=mm&r=g","caption":"Hussein"},"sameAs":["https:\/\/khusseintakhmazov24.thkit.ee\/wp"],"url":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/?author=1"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/index.php?rest_route=\/wp\/v2\/posts\/993","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=993"}],"version-history":[{"count":0,"href":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/index.php?rest_route=\/wp\/v2\/posts\/993\/revisions"}],"wp:attachment":[{"href":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=993"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=993"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/khusseintakhmazov24.thkit.ee\/wp\/eng\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}