C#

Изучение языка C# для начинающих

26 уроков 53 задания Справочник Компилятор

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

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


C#

В этом уроке мы выучим с вами как можно создавать абстрактные классы, методы, а также свойства. 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#

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