Анотація методу в оупі

Чому ми використовуємо абстрактний метод, тому що якщо ми оголосили абстрактний клас, то ми повинні реалізувати цей метод у похідному класі, який робить 2 рази неприємності, то чому ми не використовуємо простий метод, а не абстрактні методи?

7
У абстрактних класах можна також застосувати методи implment.Ви використовуєте абстрактні методи, щоб вказати, що він не має реалізації в базовому класі, але повинен бути реалізований у похідному класі.
додано Автор Salih Erikci, джерело

6 Відповіді

   abstract class Animal 
   {
       abstract public void Voice(); //
   }

   class Dog : Animal
   {
       public void Voice() 
       {
           Console.WriteLine("bark!");
       }
   }

   class Cat: Animal
   {
       public void Voice() 
       {
           Console.WriteLine("meow!");
       }
   }

Подивіться на абстрактний метод Voice. Що це має бути, якщо ви уявляєте, що голос абстрактного тварини?

2
додано
   abstract class Animal 
   {
       abstract public void Voice(); //
   }

   class Dog : Animal
   {
       public void Voice() 
       {
           Console.WriteLine("bark!");
       }
   }

   class Cat: Animal
   {
       public void Voice() 
       {
           Console.WriteLine("meow!");
       }
   }

Подивіться на абстрактний метод Voice. Що це має бути, якщо ви уявляєте, що голос абстрактного тварини?

2
додано
abstract class A{
    abstract void method1();
    void method2(){
        //implementation
    }

}

class B extends A{
    public void method1(){
       //implementation
    }
}

class C extends A{
    public void method1(){
       //implementation
    }
}

Скажімо B та C - це два підкласи А., які мають метод common method2, але інший метод method1. Отже, ви можете поширювати A на обох класах. Там звичайний метод буде успадкуватись автоматично. І тут ви можете визначити свою власну поведінку, застосовуючи метод 1 в підкласах.

0
додано
@ shaktisingh ласкаво просимо. Якщо ви вважаєте, що будь-яка відповідь допомагає вам, ви можете похвалитись або погодитися
додано Автор stinepike, джерело
thnx StinePike.
додано Автор shakti singh, джерело
abstract class A{
    abstract void method1();
    void method2(){
        //implementation
    }

}

class B extends A{
    public void method1(){
       //implementation
    }
}

class C extends A{
    public void method1(){
       //implementation
    }
}

Скажімо B та C - це два підкласи А., які мають метод common method2, але інший метод method1. Отже, ви можете поширювати A на обох класах. Там звичайний метод буде успадкуватись автоматично. І тут ви можете визначити свою власну поведінку, застосовуючи метод 1 в підкласах.

0
додано
@ shaktisingh ласкаво просимо. Якщо ви вважаєте, що будь-яка відповідь допомагає вам, ви можете похвалитись або погодитися
додано Автор stinepike, джерело
thnx StinePike.
додано Автор shakti singh, джерело

Абстрактні методи дозволяють оголошувати лише в абстрактних класах, а це означає, що класи, що реалізують абстрактний клас HAS, мають реалізувати абстрактний метод, тоді як будь-який інший метод у абстрактному класі може бути перевизначений або використаний як є.

From abstract (C# Reference)

• Декларації абстрактного методу дозволені лише в абстрактних класах.

     

• Оскільки декларація абстрактного методу не дає реального значення   реалізація, немає тіла методу; декларація методу просто   закінчується крапкою з комою та фігурними дужками ({})   підпис. Реалізація забезпечується переважною   метод переопределити (C # Reference) , який є членом неабстрактної   клас.

0
додано

Створюючи абстрактний клас, який має багато підкласів, які виконують абстрактну поведінку та підтримують договір абстрактного суперкласу, ви можете писати методи, які є агностичними для кодування реалізації об'єкта, просто знаючи, що це буде робити, як сказано. Різні підкласи можуть отримувати дані з різних джерел, бути оптимізованими для різних речей, мати різні побічні ефекти тощо

Якщо ви дізнаєтеся про об'єктно-орієнтоване програмування шкільного класу, то, напевно, як і я, жоден із принципів, які ви вивчаєте, буде мати сенс - адже в невеликих програмах і для того, щоб приклади програмування легко перетравлювалися, вони повинні бути малими, ООП зазвичай просто додає багаж та підлогу . Але чим більша кількість ваших програм, тим більше їх можна багаторазово використовувати, тим більше вони можуть використовуватися в різних контекстах, які вони повинні бути, більш обдарованими та більш грандіозними, а те, що вони повинні робити, повинні робити правильно, тим більше методи ООП спрощують процес кодування та мислення щодо коду.

0
додано
var chat = new Chat();
var chat = new Chat();
642 учасників

Обсуждение вопросов по C# / .NET / .NET Core / .NET Standard / Azure Сообщества-организаторы: — @itkpi — @dncuug

ІТ КПІ - Java
ІТ КПІ - Java
436 учасників