Kompyuter injiniring fakulteti


from abc import ABC, abstractmethod



Yüklə 71,69 Kb.
səhifə6/6
tarix13.12.2023
ölçüsü71,69 Kb.
#140112
1   2   3   4   5   6
DASTURLASH 3M

from abc import ABC, abstractmethod


# Abstrak sinf
class Shape(ABC):
@abstractmethod
def area(self):
pass


@abstractmethod
def perimeter(self):
pass


# Voris sinflar
class Square(Shape):
def __init__(self, side_length):
self.side_length = side_length


def area(self):
return self.side_length ** 2


def perimeter(self):
return 4 * self.side_length


class Circle(Shape):
def __init__(self, radius):
self.radius = radius


def area(self):
return 3.14 * self.radius ** 2


def perimeter(self):
return 2 * 3.14 * self.radius


# Abstrak sinf obyektlarini yaratish
# shape = Shape() # Xato! Abstrak sinf obyekti yaratib bo'lmaydi


# Voris sinf obyektlarini yaratish
square = Square(5)
circle = Circle(3)


# Obyektlardan metodlarni chaqirish
print("Kvadratning yuzasi:", square.area()) # 25
print("Kvadratning perimetri:", square.perimeter()) # 20
print("Doira yuzasi:", circle.area()) # 28.26
print("Doira perimetri:", circle.perimeter()) # 18.84


Ushbu misolda “Shape” sinfi abstrak sinf sifatida tanimlangan bo'lib, unda “area” va “perimeter” metodlari abstrak metodlar sifatida belgilangan. “Square” va “Circle” sinflari esa “Shape” sinfiga vorislanib, undagi abstrak metodlarni bajarishdi.


Abstrak sinflar, sinflar orasida umumiy interfeyslarni ta'minlaydi va shuningdek kodni tozalash, modulyarlikni oshirish, va obyektoriy dasturlash prinsiplarini amalga oshirishda yordam beradi.
Yüklə 71,69 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2025
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin