✦ Srednji nivo Pythona i OOP Napredni OOP

L2 · Koncept 01 · Napredni OOP

Neka vrste knjiga dele kod.
Zatim dodajte njihovo sopstveno ponašanje.

Naš Mini Library Manager raste i uključuje elektronske, štampane i audio-knjige.

Cilj učenjaKoristite roditeljsku i naslednu klasu kako zajedničke Book podatke i metode ne biste morali da kopirate.
01 Uči02 Isprobaj03 Predvidi

Učenje kao gost

Učiš kao gost — sačuvaj svoj napredak!

Napravi besplatan nalog i uči uz Sloby AI mentora, proveru razumevanja i praćenje napretka.

Cela platforma je besplatna tokom 2026. Foundations ostaje zauvek besplatan.

Jedan Book model, više vrsta knjiga.

Nasleđivanje čuva zajednički naslov, autora, godinu i ponašanje pozajmljivanja u Book klasi. Nasledna klasa kao EBook(Book) dobija to ponašanje.

class Book:
    def __init__(self, title, author, year):
        self.title = title
        self.author = author
        self.year = year
        self.is_available = True

    def borrow(self):
        self.is_available = False

    def display_info(self):
        print(f"{self.title} - {self.author}")

class EBook(Book):
    pass

ebook = EBook("Dune", "Frank Herbert", 1965)
ebook.display_info()
ebook.borrow()
print(ebook.is_available)

EBook nasleđuje konstruktor, display_info() i borrow() iako nijednu od njih ne definiše. Ovo je pojednostavljeni raniji Book primer; puni projekat i dalje validira godinu.

Dune - Frank Herbert False

borrow() prima EBook objekat kao self, pa menja samo vrednost is_available tog objekta.

↳

Roditelj i naslednik: Book je roditeljska klasa. EBook je nasledna klasa. Sintaksa class EBook(Book): pravi vezu nasleđivanja.

Dodajte novu mogućnost naslednoj klasi.
class EBook(Book):
    def open_preview(self):
        print(f"Opening preview: {self.title}")

class PrintedBook(Book):
    def show_shelf_info(self):
        print(f"Find '{self.title}' on the library shelf.")

Obe nasledne klase zadržavaju nasleđene Book metode, a svaka dodaje svoju novu metodu.

Python radni prostor

Učitavanje Python okruženja…

Pokrenite primer, zatim napravite naslednu AudioBook klasu i dodajte joj sopstvenu metodu.

inheritance.pyPython
IzlazČeka se Python
Okruženje pregledača se učitava. I dalje možeš da menjaš primer koda.

Pyodide pokreće Python u Web Worker-u pregledača. Zaustavlja se i ponovo pokreće ako se kod predugo izvršava. Izvršavanje u pregledaču nije potpuna bezbednosna granica; ne unosi tajne i ne oslanjaj se na njega za izolaciju nepouzdanog koda.

Šta će ovaj program ispisati?

EBook nasleđuje borrow() od Book klase.

class Book:
    def borrow(self):
        self.is_available = False

class EBook(Book):
    pass

ebook = EBook()
ebook.is_available = True
ebook.borrow()
print(ebook.is_available)
Izaberi izlaz

Vežbajte samostalno

Mini izazov — Pustite audio uzorak

Završite AudioBook(Book) dodavanjem jedne metode bez kopiranja Book koda.

Vaš ciljDefinišite play_sample(self) da ispiše kratku poruku uzorka koristeći self.title.

audiobook.py

Opcioni nagoveštaji
  • Definišite play_sample(self) unutar AudioBook klase.
  • Koristite self.title u ispisanoj poruci uzorka.
Pitajte Slobyja za nagoveštaj
Sloby, maskota Python AI Tutora

Tvoj mentor za učenje

Prijavite se da pitate Slobyja

Napravite besplatan nalog ili se prijavite za AI smernice tokom učenja.

Prijavite se da proverite svoje razumevanje

Napravite besplatan nalog ili se prijavite da biste dobili AI povratnu informaciju i sačuvali napredak u učenju.

Python AI Tutor · Uči razumevanjem, a ne samo pokretanjem koda.