Autor Beitrag
Erwin Z
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 16.10.08 16:53 
Hallo,

bin absoluter Anfaenger und probiere gerade in C# zu ueben .

Kann mir jemand helfen, warum diese Warnung kommt:

Warnung 3 "ConsoleApplicationFactoryMuster.MuenchenerTomatenPizza.schneiden()" blendet den vererbten Member "ConsoleApplicationFactoryMuster.Pizza.schneiden()" aus. Verwenden Sie das new-Schlüsselwort, wenn das Ausblenden vorgesehen war. C:\Users\edderze\Documents\Visual Studio 2008\Projects\ConsoleApplicationFactoryMuster\ConsoleApplicationFactoryMuster\Program.cs 97 22 ConsoleApplicationFactoryMuster

Hier ist das programmteil:

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
   public abstract class Pizza {
        public String name;
        public String teig;
        public String sosse;
        //List<string> belaege = new List<string>();
        public String[] belaege = new String [5];
        public void vorbereiten () {
            Console.WriteLine ("Bereite " + name);
            Console.WriteLine ("Werfe Teig ... ");
            Console.WriteLine ("Fuege Sosse hinzu ... ");
            Console.WriteLine ("Fuege Belaege hinzu ...");
            for (int i = 0; i < 5; i++) {
                Console.WriteLine (" " + belaege[i]);
            }
            Console.ReadLine();
        }
        public void backen () {
            Console.WriteLine (" Backe 25 Minuten bei 350 Grad");
        }
        public virtual void schneiden() {
            Console.WriteLine ("Schneide die Pizza diagonal in Stuecke");
        }
        public void verpacken () {
            Console.WriteLine ("PAcke die Pizza in die officielle Pizzeria-Schachtel");
        }
        public String getName () {
            return name;
        }
    }
    
   public class MuenchenerTomatenPizza : Pizza {
            public MuenchenerTomatenPizza () {
                name = "Tomatenpizza Muenchener Art";
                teig = "Teig mit extra dicker Kruste";
                sosse = "Holonesesosse";

                belaege [0] = "Mozzarella";
                belaege [1] = "Tomate gehackt";
            }
// hier ist die methode auf die sich die warnung bezieht
            override void schneiden() {
                Console.WriteLine("Schneide die Pizza in Rechecke");
            }
        }


Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 16.10.08 16:59 
Hallo und :welcome:!

Ich denke, das liegt daran, dass die schneide-Methode in der abgeleiteten Klasse eine andere Sichtbarkeit als die in der Mutterklasse hat. Daher führst Du da im Prinzip eine neue Methode mit demselben Namen wie die alte Methode ein, welche damit verborgen wird.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Erwin Z Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 16.10.08 17:15 
"DANKE fuer "WELCOME"

eigentlich die methode ist als virtual deklariert in der mutterklasse und dann mit override in der kindklasse ueberschrieben, sollte laut C# - buch richtig sein,
hmmm...
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 16.10.08 17:17 
Sie ist als public virtual deklariert, die Methode in der abgeleiteten Klasse aber nicht als public!

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Erwin Z Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 16.10.08 17:29 
jetzt ist die warnung weg :)

VIELEN DANK!

wie fuegt man eigentlich C#-Tags?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 16.10.08 17:31 
user profile iconErwin Z hat folgendes geschrieben Zum zitierten Posting springen:
wie fuegt man eigentlich C#-Tags?

Im Editor im Abschnitt "Bereiche" kannste Du die entsprechenden Kontrollen verwenden. Oder Du machst es manuell: www.c-sharp-forum.de...ml&sub=,19,27,32

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Erwin Z Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 16.10.08 18:02 
ausblenden C#-Quelltext
1:
2:
Vielen Dank!!!
+ schoenen Abend noch...!