Partage
  • Partager sur Facebook
  • Partager sur Twitter

class et inheritance utiliser le constructeur

    8 décembre 2022 à 23:04:25

    Bonsoir,

    Je ne m'y connais pas encore tres bien en C#

    Alors voici mon probleme: J'ai une premiere class Point, une deuxieme Circle et une troisieme Cylindre et c'est dans cette derniere que j'ai des difficultes 

    Voici le code:

    class Point
    {
        private int x;
        private int y;
    
        public Point()
        {
            this.x = 0;
            this.y = 0;
        }
        public Point(int x, int y)
        {
            this.x = x;
            this.y = y;
        }
        public int GetX()
        {
            return this.x;
        }
        public int GetY()
        {
            return this.y;
        }
        public void SetX(int x)
        {
            this.x = x;
        }
        public void SetY(int y)
        {
            this.y = y;
        }
        public override string ToString()
        {
            return "x: " + this.x + " y: " + this.y;
        }
    }
    class Circle : Point
    {
        protected int radius;
        private Point center;
    
        public Circle(Point center, int radius)
        {
            this.center = center;
            this.radius = radius;
        }
        public Point GetCenter()
        {
            return this.center;
        }
    
        public int GetRadius()
        {
            return this.radius;
        }
    
        public void SetCenter(Point center)
        {
            this.center = center;
        }
    
        public void SetRadius(int radius)
        {
            this.radius = radius;
        }
    
    
    
        public double Getarea()
        {
            double area = (3.14 * (radius * radius));
            return area;
        }
        public double Getperimeter()
        {
            double perimter = (3.14 * (radius * 2));
            return perimter;
        }
        public override string ToString()
        {
            return "The circle:" + "the center of the circle is:" + "<" + this.center + ">" + "<" + this.center + ">/n"+ "the radius of the circle is:" + this.radius;
        }
    }
    class Cylinder : Circle
    {
    
        protected Point center;
        protected int radius;
        protected int height;
       
        public Cylinder(Point center, int radius, int height)
        {
            this.radius = radius;
            this.height = height;
            this.radius = radius;
        }
        
    
        public double Getarea()
        {
            double average = 2(3, 14(Cylinder.radius * Cylinder.radius)) + (2 * 3, 14 * Cylinder.radius) * Cylinder.height;
            return average;
        }
        public double GetVolume()
        {
            double volume = ((3, 14 * (radius * radius)) * height);
            return volume;
    
        }
        public override string ToString()
        {
            return "the cylinder:" + "The center of the base is:" + "<" + this.GetX + ">" + "<" + this.GetY + ">" + "the height is:" + "<" + this.height + ">";
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Cylinder C1 = new Cylinder();
            C1.radius = 1;
            C1.height = 10;
            //C1 center = (100, 100);
            //C1.GetVolume();
    
    
        }
    }

    Comment est ce que je peux definir mon constructeur de cylindre pour ne pas recevoir d'erreur et que le programme fonctionne correctement?

    merci pour votre aide

    • Partager sur Facebook
    • Partager sur Twitter
      9 décembre 2022 à 10:39:02

      Pour moi, il n'y a pas d'héritages dans ces cas. Sinon tu n'as défini de constructeur sans argument (ce que doit dire le message d'erreur que tu as "no definition found for Cylinder()" ou un truc du genre)
      • Partager sur Facebook
      • Partager sur Twitter

      class et inheritance utiliser le constructeur

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown