რა განსხვავებაა მეთოდის გადაფარვასა და მეთოდის დამალვას შორის?
რა განსხვავებაა მეთოდის გადაფარვასა და მეთოდის დამალვას შორის?

ვიდეო: რა განსხვავებაა მეთოდის გადაფარვასა და მეთოდის დამალვას შორის?

ვიდეო: რა განსხვავებაა მეთოდის გადაფარვასა და მეთოდის დამალვას შორის?
ვიდეო: What is the difference between Method Overriding and Method Hiding in C# .NET? 2024, მაისი
Anonim

In მეთოდის გადაჭარბება , როდესაც საბაზისო კლასის საცნობარო ცვლადი მიუთითებს მიღებული კლასის ობიექტზე, მაშინ ის გამოიძახებს გადალახული მეთოდი მიღებული კლასი. დამალვის მეთოდში , როდესაც საბაზისო კლასის საცნობარო ცვლადი მიუთითებს მიღებული კლასის ობიექტზე, მაშინ ის გამოიძახებს ფარული მეთოდი საბაზო კლასი.

უფრო მეტიც, რა განსხვავებაა მეთოდის გადაფარვასა და Java-ში დამალვის მეთოდს შორის?

მეთოდის გადაჭარბება , როდესაც ქვეკლასს აქვს იგივე მეთოდი იგივე ხელმოწერით წელს ქვეკლასი. დამალვის მეთოდი , როდესაც ქვეკლასს აქვს იგივე მეთოდი სახელი, მაგრამ განსხვავებული პარამეტრი. ამ შემთხვევაში, თქვენ არ ხართ უზენაესი მშობელი მეთოდი , მაგრამ იმალებოდა ის.

მეორეც, რა მეთოდი იმალება C#-ში მაგალითით? პასუხი: მეთოდის დამალვა ხდება მემკვიდრეობა ურთიერთობა, როდესაც საბაზო კლასს და წარმოებულ კლასს ორივეს აქვს იგივე სახელის მეთოდი. როდესაც ჩვენ ვქმნით მიღებული კლასის ობიექტს, ის მალავს საბაზისო კლასის მეთოდს და გამოიძახებს საკუთარ მეთოდს და ამას ეწოდება მეთოდი დამალვა ან სახელის დამალვა C#-ში. მემკვიდრეობა.

ასევე იცოდეთ რატომ გამოიყენება დამალვის მეთოდი?

ის გვეუბნება, რომ გამოვიყენოთ ახალი საკვანძო სიტყვა მემკვიდრეობით მიღებული წევრის დასამალად. ასე რომ, მიღებული კლასში ახალი მოდიფიკატორის გამოყენებით მეთოდი , ის მალავს საბაზო კლასის განხორციელება მეთოდი . Ამას ჰქვია დამალვის მეთოდი . ის საშუალებას გაძლევთ უზრუნველყოთ ახალი იმპლემენტაცია მიღებული კლასისთვის.

რა არის მეთოდის დამალვა?

დამალვის მეთოდი ნიშნავს, რომ ქვეკლასმა განსაზღვრა კლასი მეთოდი იგივე ხელმოწერით, როგორც კლასი მეთოდი სუპერკლასში. იმ შემთხვევაში, მეთოდი სუპერკლასი დამალულია ქვეკლასით. ეს ნიშნავს, რომ: ვერსია a მეთოდი რომელიც შესრულებულია არ იქნება განსაზღვრული ობიექტით, რომელიც გამოიყენება მის გამოსაძახებლად.

გირჩევთ: