У меня вопрос об упражнениях ниже
Запись Class1
, Class2
и Class3
содержимого, унаследованного от абстрактного класса (в отличие от использования интерфейса, содержимое класса по умолчанию будет изменяться в результате операций переопределения над абстрактными членами классов).
Абстрактный класс должен быть написан для максимально возможного числа членов.
Это class1
, class2
и class3
ниже
class Class1 : ClassAbs
{
public int number1;
protected double _prop1;
public double property1 { set { _prop1 = value; } }
public int property2 { get; }
public int method1(int x) { return x * x * x; }
}
class Class2 : ClassAbs
{
public int number1;
public double property1 { get; set; }
public int method1(int x) { return x * x; }
}
class Class3 : ClassAbs
{
public int number1;
public double property1 { get; set; }
}
Также есть подсказка: ClassAbs
представляет абстрактный класс в данном шаблоне. Некоторые участники
классов Class1
, Class2
и Class3
могут быть найдены либо как полные, либо как прототипы.
В абстрактном классе, как завершенные члены, так и
могут использоваться описания прототипов (строки объявления).
Я не очень хорошо понял вопрос, поэтому хотел тебя спросить.
Мое решение - определить пересечения и вставить в класс abs. Переменная number1 является общей для всех классов, поэтому поместите ее в класс Abs.
А также хотел поместить prop1 как абстрактный метод для переопределения внутри классов.
Но я не мог этого сделать.
Вот что я попробовал, что вы думаете? Я уверен, что некоторые его части отсутствуют.
abstract class ClassAbs
{
public int number1;
}