i)

class A:
    def __init__(self):
        print('class A')

class B(A):
    def __init__(self):
        print('class B')
        super().__init__()

class C(B):
    def __init__(self):
        print('class C')
        super().__init__()

class D(B):
    def __init__(self):
        print('class D')
        super().__init__()

class E(D, C):
    def __init__(self):
        print('class E')
        super().__init__()

e = E()

আউটপুটঃ

class E
class D
class C
class B
class A

কিন্তু আমার হিসাবে তো নিচের মত হওয়ার কথা। হিসাব বলতে আমি যেমন বুঝি।

class E
class D
class B
class A
class C
class B
class A

এইখানে কোড আসলে কাজ করছে কিভাবে?

ii)

class A:
    def f(self):
    print('class A')

class B:
    def f(self):
        print('class B')

class C(A, B):
    pass

class D(A, B):
    def f(self):
        super().f()

c = C()
c.f()

আউটপুটঃ

class A

এইখানে ক্লাস C এর কোড পরিবর্তন না করে ইন্সট্যান্স c দিয়ে ক্লাস B এর f মেথড কল করবো কিভাবে? একইভাবে D ক্লাসের class কি-ওয়ার্ডযুক্ত লাইন পরিবর্তন না করে এই ক্লাসের f মেথডের মধ্যে থেকে B ক্লাসের f মেথড কল করবো কিভাবে?

asked 28 Dec '17, 11:17

_Shaon_'s gravatar image

_Shaon_
668112

edited 28 Dec '17, 11:29

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
16618

Be the first one to answer this question!
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×74
×10
×4
×4
×1

question asked: 28 Dec '17, 11:17

question was seen: 59 times

last updated: 28 Dec '17, 11:29