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
Falseborrow() 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.
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.
