{"id":1305,"date":"2025-05-30T19:32:12","date_gmt":"2025-05-30T16:32:12","guid":{"rendered":"https:\/\/com47276.wordpress.com\/?page_id=1067"},"modified":"2025-10-25T17:17:04","modified_gmt":"2025-10-25T17:17:04","slug":"9-teema-oop-2","status":"publish","type":"page","link":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/9-teema-oop-2\/","title":{"rendered":"9. Teema OOP"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Teema &#8220;OOP&#8221;<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Objekt<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Objekt kirjeldab \u00e4ra konkreetse loogilise kogumi\n<ul class=\"wp-block-list\">\n<li>n\u00e4iteks \u00f5ues olev punane auto on \u00fcks objekt<\/li>\n\n\n\n<li>selle taga olev roheline auto on teine objekt jne<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Tavaliselt m\u00f5tleme me arvust \u00fchest v\u00e4\u00e4rtusest <\/li>\n\n\n\n<li>Objekt koosneb tavaliselt mitmest v\u00e4\u00e4rtusest\n<ul class=\"wp-block-list\">\n<li>v\u00e4rv, mark, mudel, pikkus, registrimaas jne<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Klass <\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Klass kirjeldab \u00e4ra struktuuri \n<ul class=\"wp-block-list\">\n<li>n\u00e4iteks autol on v\u00e4rv, pikkus jne<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Klass (\u00fcldiselt) ei sisalda andmeid<\/li>\n\n\n\n<li>Klass on andmet\u00fc\u00fcp<\/li>\n\n\n\n<li>Samat\u00fc\u00fcpi andmed p\u00e4rinevad k\u00f5ik \u00fchest klassist\n<ul class=\"wp-block-list\">\n<li>punane auto on auto, roheline auto on auto jne<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Kuigi meil on maailmas mitu autot (objekti), siis meil on  auto<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">OOP<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Objekt-orienteeritud programmeerimine (OOP) on programmeerimise paradigma, mis kasutab objekte<\/li>\n\n\n\n<li>Python on objekti-orienteeritud programmeerimiskeel (OOP)<\/li>\n\n\n\n<li>Pythonis k\u00f5ik asjad on objektid<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">OOP tehnikad<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kapseldamine \n<ul class=\"wp-block-list\">\n<li>funktsionaalsus pidetakse<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Modulaarsus\n<ul class=\"wp-block-list\">\n<li>programm jagatakse iseseisvateks t\u00fckkideks<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Pol\u00fcmorfism\n<ul class=\"wp-block-list\">\n<li>alamklass saab meetodeid \u00fcle kirjutada<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>P\u00e4rimine \n<ul class=\"wp-block-list\">\n<li>alamklass p\u00e4rib omadused ja meetodid<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Klassi muutujad:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Klassi muutuja kirjeldatakse klassi sees v\u00e4ljaspool meetodeid<\/li>\n\n\n\n<li>Klassi muutujal on \u00fcks v\u00e4\u00e4rtus l\u00e4bi terve programmi<\/li>\n\n\n\n<li>S\u00f5ltumata sellest, mitu objekti klassist luuakse, klassi muutujal on \u00fcks \u00fchine v\u00e4\u00e4rtus<\/li>\n\n\n\n<li>\u00dcldiselt ei ole vaja kasutada<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">N\u00e4ide:<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nclass Doorbell:\n    click_count = 0\n\n    def __init__ (self):\n        self.click_count = 0\n\n    def ring(self):\n        print(&quot;Ringing..&quot;)\n        self.click_count += 1\n        Doorbell.click_count += 1\n\nd1 = Doorbell()\nd2 = Doorbell()\n\nfor _ in range (10): d1.ring()\nfor _ in range (4): d2.ring()\nprint(d1. click_count) # 10\nprint(d2.click_count) # 4\nprint(Doorbell.click_count) # 14\n<\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">Konstruktor<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Objekti loomisel pannakse k\u00e4ima eriline meetod ehk konstruktor<\/li>\n\n\n\n<li>Meetod kirjeldatakse: __init__(self)<\/li>\n\n\n\n<li>See meetod pannakse k\u00e4ima \u00fcks kord objekti loomisel<\/li>\n\n\n\n<li>Eelnevas n\u00e4ites s = Student() kustub v\u00e4lja konstruktori<\/li>\n\n\n\n<li>Konstruktori kirjeldamine ei ole kohstuslik<\/li>\n\n\n\n<li>Konstruktor peab tagastama None (eraldi return lauselt ei kirjutata)<\/li>\n\n\n\n<li>Kirjeldatakse nagu tavaline meetod<\/li>\n\n\n\n<li>Eraldi pole vaja v\u00e4lja kustuda<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nclass Student:\n     def __init__ (self):\n            print(&quot;Initializing student ...&quot;)\ns = Student ()\n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Student () kustub Student klassi konstruktori v\u00e4lja<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Konstruktor, objekti muutujad<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>self viitab loodavale\/loodud objektile<\/li>\n\n\n\n<li>Konstruktorisse saab kaasa anda argumente  (nagu tavaline funktsioon)<\/li>\n\n\n\n<li>Esimene parameeter on alati self<\/li>\n\n\n\n<li>Objekti muutujad on seotud \u00fche konkreetse objektiga (isendiga)<\/li>\n\n\n\n<li>Objekti muutujad v\u00e4\u00e4rtustatakse: self.name = &#8230;<\/li>\n\n\n\n<li>Tavaliselt luuakse konstruktoris vajalikud v\u00e4ljad \u00e4ra <\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nclass Student:\n     def __init__ (self, name, title):\n           self.products = &#x5B;]\n           self.name = name\n           self.established = 2020 - age\n           if products_file is not None:\n              pass\n     def inventory(self):\n           print(f&quot;Inventory for {self.name} (est. {self.established}:&quot;)\n           for p in self.products:\n                 print (&quot;product: ...&quot;) \n<\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">N\u00e4itevideo OOP \u00fclesande lahendamisest:<\/h4>\n\n\n\n<p><a href=\"https:\/\/github.com\/OleksandraRyshniak\/OOP\/blob\/master\/OOP.py#L44\">https:\/\/github.com\/OleksandraRyshniak\/OOP\/blob\/master\/OOP.py#L44<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Teema &#8220;OOP&#8221; Objekt Klass OOP OOP tehnikad Klassi muutujad: N\u00e4ide: Konstruktor Konstruktor, objekti muutujad N\u00e4itevideo OOP \u00fclesande lahendamisest: https:\/\/github.com\/OleksandraRyshniak\/OOP\/blob\/master\/OOP.py#L44<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1305","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>9. Teema OOP - Oleksandra Ryshniak Portfolio<\/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:\/\/oleksandraryshniak24.thkit.ee\/wp1\/9-teema-oop-2\/\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"9. Teema OOP - Oleksandra Ryshniak Portfolio\" \/>\n<meta property=\"og:description\" content=\"Teema &#8220;OOP&#8221; Objekt Klass OOP OOP tehnikad Klassi muutujad: N\u00e4ide: Konstruktor Konstruktor, objekti muutujad N\u00e4itevideo OOP \u00fclesande lahendamisest: https:\/\/github.com\/OleksandraRyshniak\/OOP\/blob\/master\/OOP.py#L44\" \/>\n<meta property=\"og:url\" content=\"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/9-teema-oop-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Oleksandra Ryshniak Portfolio\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-25T17:17:04+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/9-teema-oop-2\\\/\",\"url\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/9-teema-oop-2\\\/\",\"name\":\"9. Teema OOP - Oleksandra Ryshniak Portfolio\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/#website\"},\"datePublished\":\"2025-05-30T16:32:12+00:00\",\"dateModified\":\"2025-10-25T17:17:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/9-teema-oop-2\\\/#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/9-teema-oop-2\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/9-teema-oop-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"9. Teema OOP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/#website\",\"url\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/\",\"name\":\"Oleksandra Ryshniak Portfolio\",\"description\":\"\u041f\u0440\u043e\u0441\u0442\u043e \u0435\u0449\u0435 \u043e\u0434\u0438\u043d WordPress \u0441\u0430\u0439\u0442\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"et\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"9. Teema OOP - Oleksandra Ryshniak Portfolio","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:\/\/oleksandraryshniak24.thkit.ee\/wp1\/9-teema-oop-2\/","og_locale":"et_EE","og_type":"article","og_title":"9. Teema OOP - Oleksandra Ryshniak Portfolio","og_description":"Teema &#8220;OOP&#8221; Objekt Klass OOP OOP tehnikad Klassi muutujad: N\u00e4ide: Konstruktor Konstruktor, objekti muutujad N\u00e4itevideo OOP \u00fclesande lahendamisest: https:\/\/github.com\/OleksandraRyshniak\/OOP\/blob\/master\/OOP.py#L44","og_url":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/9-teema-oop-2\/","og_site_name":"Oleksandra Ryshniak Portfolio","article_modified_time":"2025-10-25T17:17:04+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/9-teema-oop-2\/","url":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/9-teema-oop-2\/","name":"9. Teema OOP - Oleksandra Ryshniak Portfolio","isPartOf":{"@id":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/#website"},"datePublished":"2025-05-30T16:32:12+00:00","dateModified":"2025-10-25T17:17:04+00:00","breadcrumb":{"@id":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/9-teema-oop-2\/#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/9-teema-oop-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/9-teema-oop-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/"},{"@type":"ListItem","position":2,"name":"9. Teema OOP"}]},{"@type":"WebSite","@id":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/#website","url":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/","name":"Oleksandra Ryshniak Portfolio","description":"\u041f\u0440\u043e\u0441\u0442\u043e \u0435\u0449\u0435 \u043e\u0434\u0438\u043d WordPress \u0441\u0430\u0439\u0442","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"et"}]}},"_links":{"self":[{"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/wp-json\/wp\/v2\/pages\/1305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/wp-json\/wp\/v2\/comments?post=1305"}],"version-history":[{"count":1,"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/wp-json\/wp\/v2\/pages\/1305\/revisions"}],"predecessor-version":[{"id":1653,"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/wp-json\/wp\/v2\/pages\/1305\/revisions\/1653"}],"wp:attachment":[{"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/wp-json\/wp\/v2\/media?parent=1305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}