#21 - Абстрактные классы, методы и свойства

#21 - Абстрактные классы, методы и свойства

В этом уроке мы выучим с вами как можно создавать абстрактные классы, методы, а также свойства. Abstract в C#

Видеоурок

Абстрактные классы очень схожи с обычными классами в C#. Единственные отличие в абстрактных классах заключаются в том, что абстрактный класс ничего не реализует. В нем лишь указываются все методы и переменные, которые реализуются в классах наследниках. Для создания абстрактных классов используется ключевое слово abstract.
abstract class Person {
    public abstract float getHeight();
    public abstract string getName();
}
Также в абстрактном классе можно указывать абстрактные методы, которые ничего из себя не представляют и ничего не выполняют. Они указываются при помощи ключевого слова abstract.

В классах наследниках обязательно необходимо реализовать все методы абстрактного класса, иначе будут ошибки. Такие классы очень полезны, ведь мы можем указать общий функционал, который должен присутствовать, но не реализовывать его, так как он повсюду будет разным.

Исходный код

Скрипт
using System;
using System.Collections.Generic;

namespace ProjectOne {

	abstract class Animal {
		public abstract void Print ();
		
	}

	class Dog : Animal {

		private float speed;

		public Dog (float speed) {
			this.speed = speed;
		}

		public override void Print () {
			Console.WriteLine ("Dog speed: " + speed);
		}
	}

	class Cat : Animal {

		private float speed;

		public Cat (float speed) {
			this.speed = speed;
		}

		public override void Print () {
			Console.WriteLine ("Cat speed: " + speed);
		}
	}

	class MainClass {
		
		public static void Main (string[] args) {			

			List<Animal> animals = new List<Animal> ();
			animals.Add (new Dog (12.23f));
			animals.Add (new Dog (12.3f));
			animals.Add (new Cat (12.3f));

			foreach (Animal animal in animals) {
				animal.Print ();
			}

			Console.ReadKey ();
		}
	}
}

Онлайн редактор кода

Загрузка...

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Уроки C# под Unity 5 для начинающих
9 уроков
Изучение C#, ASP.NET и создание Windows программ
Программа на C# .NET Windows Forms
7 уроков
Изучение ASP.NET Core MVC. Создание сайтов на C#
10 уроков