Hallo zusammen, ich bin SUNWEN von der Wuhan Chinese Normal University, ich hatte endlich Zeit, am Nachmittag im Guiyuan-Tempel anzukommen, was nicht teuer ist Viele Fotos. Es wird nicht lange dauern, sie zu bekommen.
Lassen Sie uns dieses Mal auf den Punkt kommen. Was sind Attribute? Wenn ich zum Beispiel ein Mann bin, ist das „Männchen“ eine Eigenschaft einer Person Sehr einfach, haha! Das erste Beispiel zeigt, wie man ein Attribut deklariert, das geändert werden kann, und ein weiteres Beispiel, das ein abstraktes Attribut (Abstract) erstellt und erklärt, wie man es in einer Unterklasse verwirft. Fangen wir an.
Beispiel 1:
000: // PRertiesperson.cs
001: using System;
002: class Person
003: {
004: private Zeichenfolge myName = „N/A“;
005: private int myAge = 0;
006:
007: // Deklarieren Sie ein Zeichenattribut. Name
008: öffentliche Zeichenfolge Name
009: {
010: get
011: {
012: return myName
013: }
014: set
015: {
016: myName = value;
017: }
018: }
019:
020: // Deklarieren Sie eine Age-Eigenschaft vom Typ int
021: public int Age
022: {
023: get
024: {
025: return myAge;
027: set
028: {
029: myAge = value;
030 : }
031: }
032:
033: öffentlicher Override-String ToString()
034: {
035: return "Name = " + Name + ", Age = " + Age ;
036: }
037:
038: public static void Main()
039: {
040: Console.WriteLine("Simple Properties");
041:
042: // Eine Personeninstanz erstellen
043: Person person = new Person();
044:
045: //Attribute ausdrucken
046: Console.WriteLine("Person Details - {0}", Person);
047:
048: // Nehmen Sie einige Einstellungen für die Eigenschaften vor
049: person.Name = "Joe";
050: person.Age = 99;
051: Console.WriteLine(" Personendetails - {0}", Person);
052:
053: // Alter hinzufügen
054: person.Age += 1;
055: Console.WriteLine("Person details - {0}", person);
056: }
057: }
Die Ausgabe dieses Beispiels ist:
Personendetails – Name = N/A, Alter = 0
Personendetails – Name = Joe, Alter = 99
Personendetails – Name = Joe, Alter = 100
shapes.cs: Unterklasse von Shape
shapetest.cs: Anzeigeprogramm.Um diese Programme zu kompilieren, führen Sie Folgendes aus: csc abstractshape .cs patterns.cs shapetest.cs. Nach dem Ausführen wird das ausführbare Programm shapetest.exe generiert.
000: // Propertiesabstractshape.cs
001: using System;
002:
003: öffentliche abstrakte Klasse Shape
004: {
005: private Zeichenfolge myId;
006:
007: public Shape(string s)
008: {
009: Id = s; // Dieser Satz ruft den Set Builder des Id-Attributs auf
010: }
011 :
012: öffentliche Zeichenfolgen-ID
013: {
014: get
015: {
016: return myId;
017: }
018:
019 : set
020: {
021: myId = value;
022: }
023: }
024:
025: public abstract double Area
026: {
027: get;
028: }
029:
030: public override string ToString()
031: {
032: return Id + " Area = " + double.Format (Bereich, „F“);
033: 🎜>034: 🎜>Wenn man sich dieses Programm ansieht, ist es eigentlich sehr einfach. Wenn das Objekt dieses Klassenpaares erstellt wird, ist der Initialisierungsteil 007-. 010, Es gibt die Parameter zum Erstellen des Objekts an das Id-Attribut. Anschließend können wir abstrakte Attribute mit Schnittstellen in JAVA vergleichen Geben Sie den Inhalt dieser Methode nicht an. Genau wie bei der abstrakten Eigenschaft Area gibt es eine Get-Methode, die jedoch nicht den Inhalt der Get-Methode angibt (möglicherweise kann sie nicht als Methode bezeichnet werden), dh was mit Get zu tun ist. Diese Angelegenheit wird dadurch bestimmt, dass ihre Unterklassen dies tun.
Zweite Datei: In dieser Datei überschreibt eine Klasse die Area-Eigenschaft.
000: // Propertiesshapes.cs
001: öffentliche Klasse Quadrat: Form002: {
003: private int mySide;
004:
005: public Square(int side, string id) : base(id)
006 : {
007: mySide = side;
008: }
009:
010: public override double Area
011: {
012: get
013: {
014: return mySide * mySide;
015: }
016: }
017: }
018:
019: öffentliche Klasse Kreis: Form
020: {
021: privat int myRadius;
022:
023: public Circle(int radius, string id) : base(id)
024: {
025: myRadius = radius;
026 : }
027:
028: public override double Area
029: {
030: get
031: {
032: return myRadius * myRadius * System.Math.PI;
033 : }
034: }
035: }
036:
037: öffentliche Klasse Rechteck: Form
038: {
039: private int myWidth;
040: privat int myHeight;
041:
042: public Rechteck(int width, int height, string id) : base(id)
043: {
044: myWidth = width;
045: myHeight = height;
046: }
047:
048: public override double Area
049: {
050: get
051: {
052 : return myWidth * myHeight;
053: 🎜>054: 🎜>055: 🎜>Dieses Beispiel verwirrt uns ein wenig. Was scheint es zu sein? Vererbung, was Extends in JAVA entspricht. Ich denke schon. Schauen wir uns zuerst die dritte Datei an.
000: // Propertiesshapetest.cs
: öffentliche Klasse TestClass
002: {
003: public static void Main()
005: Shape[] Shapes =
006: {007: neues Quadrat (5, „Quadrat #1“),
008: neuer Kreis(3, „Kreis #1“),
009: neues Rechteck( 4, 5, „Rechteck #1“)
010: };
011:
012: System.Console.WriteLine("Shapes Collection");
013: foreach(Form s in Formen)
014: {
015: System.Console .WriteLine(s);
016: 🎜>017:
018: 🎜>019: 🎜>Aus diesem Beispiel: Dieses Symbol bedeutet tatsächlich „erweitert“, was Vererbung bedeutet Um es ganz klar auszudrücken: Im folgenden Satz bedeutet „sunwenson“ „sunwen“, der Name bedeutet, dass die Klasse „sunwenson“ „sunwen“ erbt und die Klasse „sunwenson“ die Klasse „sunwen“ hat Es ist so einfach, einige Dinge in Sunwen zu löschen, aber dies ist eine wichtige Technologie in der Entwicklung moderner Software, da sie die Wiederverwendbarkeit der Software erheblich verbessern kann, sagten die Leute , ich bin nicht qualifiziert.
Die Ausgabe dieses Programms ist:
Formensammlung
Quadrat Nr. 1 Fläche = 25,00
Kreis Nr. 1 Fläche = 28,27
Rechteck Nr. 1 Bereich = 20,00
Das ist es, dieser Abschnitt ist wieder vorbei. Es ist etwas schwierig, diesen Abschnitt zu verstehen, insbesondere für diejenigen, die keine Erfahrung in der JAVA- oder C++-Programmierung haben. Aber keine Angst, seien Sie ruhig. Wenn Sie den Mut haben, weiter zu lernen, werden Sie auf jeden Fall etwas gewinnen. Ich muss mich auch ausruhen, hehe, ich habe noch nicht gefrühstückt
Das Obige ist der Inhalt des SUNWEN-Tutorials --- - C# Advanced (4). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!