ბრილიანტის პრობლემა ჩნდება, როდესაც კლასი მემკვიდრეობს ორი კლასიდან, რომლებიც ერთ საერთო წინაპრიდან მოდის, რაც ორაზოვანობას ქმნის: თუ ორივე შუა კლასი გადააფარებს მეთოდს (ან ატარებს ველს), რომელი ვერსია აქვს ქვედა კლასს?
ბრილიანტი
A (defines greet())
/ \
B C (each may override greet())
\ /
D ← inherits from B and C: which greet()?
Python-ში (რომელიც იძლევა მრავალ მემკვიდრეობას)
:
():
():
():
():
():
(B, C):
(D().greet())
(D.__mro__)
