Я хочу hide the parent class method for the the child class object.
Мой Круг отображения объекта два метода ко мне, когда я собираюсь открыть что методы:Как скрыть метод родительского класса из объекта дочернего класса?
Здесь objShape
является объект класса Shape, который является абстрактным классом ,
Я хочу скрыть метод, который отображается на втором изображении.
Здесь класс Circle расширяет класс Oval, а класс Oval расширяет класс Shape.
кодирования класса Shape
abstract public class Shape
{
public abstract double Area(double dNum1 = 0.0, double dNum2 = 0.0);
public abstract double Perimeter(double dNum1 = 0.0, double dNum2 = 0.0);
}
Овальный класс Coding
class Oval : Shape
{
public override double Area(double dNum1 = 0.0, double dNum2 = 0.0)
{
double dAns = Math.PI * dNum1 * dNum2;
return dAns;
}
public override double Perimeter(double dNum1 = 0.0, double dNum2 = 0.0)
{
double dTmp1, dTmp2, dAns;
dTmp1 = 2 * (dNum1 * dNum1);
dTmp2 = 2 * (dNum2 * dNum2);
dAns = (Math.PI/2) * Math.Sqrt(dTmp1 + dTmp2);
return dAns;
}
}
Circle Код класса
class Circle : Oval
{
public double Area(double dNum1)
{
double dResult = base.Area(dNum1, dNum1);
return dResult;
}
public double Perimeter(double dNum1)
{
double dAns = base.Perimeter(dNum1, dNum1);
return dAns;
}
}
Итак, вот как я могу скрыть прямой доступ к методу класса овал объект класса Circle. На втором изображении отображается предложение, и я могу использовать этот метод, но я не хочу этого предложения, и я не хочу использовать этот метод с объектом класса Circle.
@ ун-удачливы Хорошо, но как я могу осуществить это? Я также хочу создать объект для класса Oval. –
@ un-lucky, И мне также нужно расширить класс Oval для класса Circle. –
@ un-lucky - запечатанный класс - это НЕ путь сюда. – ChrisF