saralotfi
saralotfi
خواندن ۳ دقیقه·۶ ماه پیش

وراثت در کلاس ها چیست

ارث بردن از کلاس ها مانند ارث بردن فرزند از والدین خود است. استفاده از کد های کلاس قبلی در کلاس جدید بدون دوباره نوشتن انها ویعنی امکان خلق کردن یک کلاس جدید با به ارث بردن کارایی های کلاس قدیمی است.

و مانند فرزندی که از پدر خود به ارث میبرد نوه های او هم از اون به ارث میبرد مثلا: پدر بزرگ من موهایش زودتر از بقیه سفید میشود پدر من هم همینطور من نیز همینطور به لین مثال یک به ارث بری میگویند.

این کار در نوشتن کدمان به این علت بهتر است که کدمان را به دنیای واقعی نزدیک تر میکند.

class piza:

class tomato(piza):

کلاس دومی از اولی ارث بری میکند.

وراثت چند نوع مختلف دارد

«وراثت یگانه»
«وراثت چندگانه»
«وراثت چند سطحی»
«وراثت سلسله مراتبی»
«وراثت ترکیبی»

وراثت یگانه

به زیر کلاس هاس یک کلاس میگند که از کلاس اول به ارث میبرد و فایده ان جلوگیری از تکرار دوباره کد ها است و به صورت دیگر این کلاس ها ارتباط مستقیمی با زیر کلاس های خود دارند و قابلیت اولیه والد خود را حفظ کنند و خودرا بتوانند انعطاف بدهند .

class Parent:

def func(self):

print("this is function")

class Child(Parent):

def func1(self):

print(" this is function1 ")

n= Child()

n.func1()

n.func2()

وراثت چندگانه

در همچین وراثت هایی دو کلاس والد یا بیشتر داریم که فرزند از هر چند تا والد ارث میبرد مانند:

class Parent:

def func1(self):

print("this is function 1")

class Parent2:

def func2(self):

print("this is function 2")

class Child(Parent , Parent2):

def func3(self):

print("this is function 3")

n = Child()

n.func1()

n.func2()

n.func3()

وراثت چند سطحی

این نوع وراثت مانند ارث بری فرزند از پدر و پدربزرگ خود است.

یک کلاس تمام خصوصیات خود را به کلاس بعدی و کلاس بعدی خصوصیات خود و ارث خود را به کلاس بعد میدهد.

class Parent:

def func1(self):

print("this is function 1")

class Child(Parent):

def func2(self):

print("this is function 2")

class Child2(Child):

def func3("this is function 3")

n= Child2()

n.func1()

n.func2()

n.func3()

وراثت سلسه مراتبی

یک کلاس میتواند به چندین کلاس دیگر ارث بدهد و کلاس ها بهم مربوط نشوند و مستقیما از کلاس والد به ارث میبرند.

class Parent:

def func1(self):

print("this is function 1")

class Child(Parent):

def func2(self):

print("this is function 2")

class Child2(Parent):

def func3(self):

print("this is function 3")

n = Child()

m = Child2()

n.func1()

n.func2()

m.func3()

وراثت ترکیبی

وراثت ترکیبی، نوع خاصی از وراثت است که به ما اجازه می‌دهد که کلاس‌ها را با ارث‌بری از چندین کلاس والد ایجاد کند. برعکس وراثت چندگانه، حداقل یکی از والدین در وراثت ترکیبی از نوع کلاس پایه نیست بلکه خودش مستقیم از یک کلاس دیگر ارث برده است وراثت ترکیبی به ما این امکان را می‌دهد که ویژگی‌های مختلف را از طریق چندین کلاس والد در هم ادغام کنند تا بتوانند کلاس‌هایی با سفارشی‌سازی بالا، طراحی کنند.

class Parent:

def func1(self):

print("this is function one")

class Child(Parent):

def func2(self):

print("this is function 2")

class Child1(Parent):

def func3(self):

print(" this is function 3"):

class Child3(Parent , Child1):

def func4(self):

print(" this is function 4")

n = Child3()

n.func1()

استفاده از ارث بری در پایتون به صورت مقدماتی کامل شد.

def functhis functionfunc selfprint thisکلاس
شاید از این پست‌ها خوشتان بیاید