جلسه سی و سوم

حل تمرین کلاس ها

مثال 1: کلاس و وراثت(اتومبیل)

				
					# Example 1: Class and Inheritance
# Define a class called "Vehicle"
class Vehicle:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year
    def display_info(self):
        print(f"This vehicle is a {self.year} {self.make} {self.model}.")
# Define a subclass called "Car" that inherits from "Vehicle"
class Car(Vehicle):
    def __init__(self, make, model, year, doors):
        super().__init__(make, model, year)
        self.doors = doors
    def display_info(self):
        print(f"This car is a {self.year} {self.make} {self.model} with {self.doors} doors.")
# Create an instance of the Car class
my_car = Car("Toyota", "Camry", 2022, 4)
my_car.display_info()
				
			
				
					مثال 2: کلاس و وراثت در حیوانات و سگ ها
# Example 2: Class and Inheritance
# Define a class called "Animal"
class Animal:
    def __init__(self, species, sound):
        self.species = species
        self.sound = sound
    def make_sound(self):
        print(f"The {self.species} makes a sound: {self.sound}.")
# Define a subclass called "Dog" that inherits from "Animal"
class Dog(Animal):
    def __init__(self, species, sound, breed):
        super().__init__(species, sound)
        self.breed = breed
    def make_sound(self):
        print(f"The {self.breed} dog makes a sound: {self.sound}.")
# Create an instance of the Dog class
my_dog = Dog("Canine", "Woof", "Golden Retriever")
my_dog.make_sound()
				
			
				
					مثال 3:کلاس و وراثت دراشکال و مستطیل.
# Example 3: Class and Inheritance
# Define a class called "Shape"
class Shape:
    def __init__(self, color):
        self.color = color
    def display_color(self):
        print(f"This shape is {self.color}.")
# Define a subclass called "Rectangle" that inherits from "Shape"
class Rectangle(Shape):
    def __init__(self, color, width, height):
        super().__init__(color)
        self.width = width
        self.height = height
    def display_info(self):
        print(f"This rectangle is {self.color} and has dimensions {self.width}x{self.height}.")
# Create an instance of the Rectangle class
my_rectangle = Rectangle("Blue", 5, 10)
my_rectangle.display_color()
my_rectangle.display_info()
				
			

Overriding (بازنویسی)

Overriding (بازنویسی) در پایتون یک مفهوم کلیدی در برنامه نویسی شی گرا است. Overriding به شما امکان می دهد تا رفتار پیش فرض یک متد را در کلاس فرزند (child class) تغییر دهید.

وقتی یک کلاس فرزند از کلاس پدر (parent class) ایجاد می شود، به طور خودکار تمام متدهای کلاس پدر را به ارث می برد. اما اگر شما در کلاس فرزند یک متد را با همان نام تعریف کنید، متد موجود در کلاس پدر بازنویسی (overridden) می شود.

بازنویسی متدها به شما امکان می دهد تا رفتار پایه را تغییر دهید و آن را به نیازهای خاص خود سفارشی کنید. این به شما کمک می کند تا کد را انعطاف پذیر و قابل تعمیم نگه دارید.

همچنین، بازنویسی متدها می تواند به همراه سایر ویژگی های شی گرا مانند وراثت و پلی مورفیسم استفاده شود تا کد شما سازمان یافته تر و خواناتر شود.

مثال 4:

				
					# Example 1: Method Overriding
# Define a class called "Vehicle"
class Vehicle:
    def description(self):
        print("This is a vehicle.")
# Define a subclass called "Car" that inherits from "Vehicle"
class Car(Vehicle):
    def description(self):
        print("This is a car.")
# Create an instance of the Car class
my_car = Car()
my_car.description()
				
			
				
					مثال 5: 
# Example 1: Class Composition
# Define a class called "Engine"
class Engine:
    def start(self):
        print("Engine started.")
# Define a class called "Car" that contains an instance of the "Engine" class
class Car:
    def init(self):
        self.engine = Engine()
    def start_engine(self):
        self.engine.start()
# Create an instance of the Car class and start the engine
my_car = Car()
my_car.start_engine()
				
			
				
					مثال 6:
# Example 2: Class Composition
# Define a class called "Monitor"
class Monitor:
    def display(self):
        print("Displaying on the monitor.")
# Define a class called "Computer" that contains an instance of the "Monitor" class
class Computer:
    def init(self):
        self.monitor = Monitor()
    def display_output(self):
        self.monitor.display()
# Create an instance of the Computer class and display output on the monitor
my_computer = Computer()
my_computer.display_output()