{"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-05-30T19:32:12","modified_gmt":"2025-05-30T16:32:12","slug":"9-teema-oop-2","status":"publish","type":"page","link":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/9-teema-oop-2\/","title":{"rendered":"9. Teema OOP"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Teema &#171;OOP&#187;<\/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 &#171;OOP&#187; 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":"page-with-title","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 Portfoolio<\/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\/rus\/9-teema-oop-2\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"9. Teema OOP - Oleksandra Ryshniak Portfoolio\" \/>\n<meta property=\"og:description\" content=\"Teema &#171;OOP&#187; 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\/rus\/9-teema-oop-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Oleksandra Ryshniak Portfoolio\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 \u043c\u0438\u043d\u0443\u0442\u044b\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/rus\\\/9-teema-oop-2\\\/\",\"url\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/rus\\\/9-teema-oop-2\\\/\",\"name\":\"9. Teema OOP - Oleksandra Ryshniak Portfoolio\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/rus\\\/#website\"},\"datePublished\":\"2025-05-30T16:32:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/rus\\\/9-teema-oop-2\\\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/rus\\\/9-teema-oop-2\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/rus\\\/9-teema-oop-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/rus\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"9. Teema OOP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/rus\\\/#website\",\"url\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/rus\\\/\",\"name\":\"Oleksandra Ryshniak Portfoolio\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/oleksandraryshniak24.thkit.ee\\\/wp1\\\/rus\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"9. Teema OOP - Oleksandra Ryshniak Portfoolio","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\/rus\/9-teema-oop-2\/","og_locale":"ru_RU","og_type":"article","og_title":"9. Teema OOP - Oleksandra Ryshniak Portfoolio","og_description":"Teema &#171;OOP&#187; 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\/rus\/9-teema-oop-2\/","og_site_name":"Oleksandra Ryshniak Portfoolio","twitter_card":"summary_large_image","twitter_misc":{"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"2 \u043c\u0438\u043d\u0443\u0442\u044b"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/9-teema-oop-2\/","url":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/9-teema-oop-2\/","name":"9. Teema OOP - Oleksandra Ryshniak Portfoolio","isPartOf":{"@id":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/#website"},"datePublished":"2025-05-30T16:32:12+00:00","breadcrumb":{"@id":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/9-teema-oop-2\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/9-teema-oop-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/9-teema-oop-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/"},{"@type":"ListItem","position":2,"name":"9. Teema OOP"}]},{"@type":"WebSite","@id":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/#website","url":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/","name":"Oleksandra Ryshniak Portfoolio","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"}]}},"_links":{"self":[{"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/wp-json\/wp\/v2\/pages\/1305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/wp-json\/wp\/v2\/comments?post=1305"}],"version-history":[{"count":0,"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/wp-json\/wp\/v2\/pages\/1305\/revisions"}],"wp:attachment":[{"href":"https:\/\/oleksandraryshniak24.thkit.ee\/wp1\/rus\/wp-json\/wp\/v2\/media?parent=1305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}