Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C#-eigenschappen: een complete gids

Eigenschappen zijn benoemde leden van klassen, structuren en interfaces. Lidvariabelen of methoden in een klasse of structuur heten velden. Eigenschappen zijn een uitbreiding van velden en worden met dezelfde syntaxis benaderd. Ze gebruiken accessors waarmee de waarden van private velden gelezen, geschreven of gemanipuleerd kunnen worden.

Eigenschappen benoemen geen opslaglocaties. In plaats daarvan hebben ze accessors die hun waarden lezen, schrijven of berekenen.

Stel dat we een klasse genaamd Student hebben, met private velden voor leeftijd, naam en code. We kunnen deze velden niet rechtstreeks van buitenaf de klasse benaderen, maar we kunnen eigenschappen hebben voor toegang tot deze private velden.

Accessors

De accessor van een eigenschap bevat de uitvoerbare statements die helpen bij het ophalen (lezen of berekenen) of instellen (schrijven) van de eigenschap. De accessor-declaraties kunnen een get-accessor, een set-accessor of beide bevatten. Bijvoorbeeld:

// Een Code-eigenschap van type string declareren:
public string Code {
    get { return code; }
    set { code = value; }
}
// Een Name-eigenschap van type string declareren:
public string Name {
    get { return name; }
    set { name = value; }
}
// Een Age-eigenschap van type int declareren:
public int Age {
    get { return age; }
    set { age = value; }
}

Voorbeeld

Het volgende voorbeeld demonstreert het gebruik van eigenschappen:

Live Demo
using System;

namespace tutorialspoint {
    class Student {
        private string code = "N.A";
        private string name = "not known";
        private int age = 0;

        // Een Code-eigenschap van type string declareren:
        public string Code {
            get { return code; }
            set { code = value; }
        }
        // Een Name-eigenschap van type string declareren:
        public string Name {
            get { return name; }
            set { name = value; }
        }
        // Een Age-eigenschap van type int declareren:
        public int Age {
            get { return age; }
            set { age = value; }
        }

        public override string ToString() {
            return "Code = " + Code + ", Name = " + Name + ", Age = " + Age;
        }
    }

    class ExampleDemo {
        public static void Main() {
            // Een nieuw Student-object aanmaken:
            Student s = new Student();
            // Code, naam en leeftijd van de student instellen
            s.Code = "001";
            s.Name = "Zara";
            s.Age = 9;
            Console.WriteLine("Student Info: {0}", s);
            // Laten we de leeftijd verhogen
            s.Age += 1;
            Console.WriteLine("Student Info: {0}", s);
            Console.ReadKey();
        }
    }
}

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, produceert het het volgende resultaat:

Student Info: Code = 001, Name = Zara, Age = 9
Student Info: Code = 001, Name = Zara, Age = 10

Abstracte eigenschappen

Een abstracte klasse kan een abstracte eigenschap hebben, die geïmplementeerd moet worden in de afgeleide klasse. Het volgende programma illustreert dit:

Live Demo
using System;

namespace tutorialspoint {
    public abstract class Person {
        public abstract string Name { get; set; }
        public abstract int Age { get; set; }
    }

    class Student : Person {
        private string code = "N.A";
        private string name = "N.A";
        private int age = 0;

        // Een Code-eigenschap van type string declareren:
        public string Code {
            get { return code; }
            set { code = value; }
        }
        // Een Name-eigenschap van type string declareren:
        public override string Name {
            get { return name; }
            set { name = value; }
        }
        // Een Age-eigenschap van type int declareren:
        public override int Age {
            get { return age; }
            set { age = value; }
        }

        public override string ToString() {
            return "Code = " + Code + ", Name = " + Name + ", Age = " + Age;
        }
    }

    class ExampleDemo {
        public static void Main() {
            // Een nieuw Student-object aanmaken:
            Student s = new Student();
            // Code, naam en leeftijd van de student instellen
            s.Code = "001";
            s.Name = "Zara";
            s.Age = 9;
            Console.WriteLine("Student Info:- {0}", s);
            // Laten we de leeftijd verhogen
            s.Age += 1;
            Console.WriteLine("Student Info:- {0}", s);
            Console.ReadKey();
        }
    }
}

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, produceert het het volgende resultaat:

Student Info: Code = 001, Name = Zara, Age = 9
Student Info: Code = 001, Name = Zara, Age = 10

C Taal

  1. Rekenkundige Eigenschappen: Associatief, Commutatief & Distributief Uitgelegd
  2. Machtsregels: Sleutel Eigenschappen voor Algebraïsche Manipulatie
  3. Zilvers Antimicrobiële Kracht: Hoe het Metaal Bacteriën, Schimmels en Virussen Bestrijdt
  4. AMPCO® 25 Smedeproducten: Hoogpresterende Legering voor Superieure Vormmaterialen
  5. UGICHROM® 4462: High-Performance Micro-Fissure Chroomplating voor Hydraulische & Pneumatische Systemen
  6. UGICHROM® 4362 – Premium Micro-Fissure Chroomgeplate Roestvrij Staal voor Hydraulische & Pneumatische Toepassingen
  7. Bainidur® 1300 – Het Laag-kraak, Hoogsterkte Smeederlegering
  8. Bainidur® 7980 CN: Premium Laag-gelegerd Staal voor Superieure Onthaarding & Koolstofnitridering
  9. UGICHROM® 4460: Ultra-duurzame Chroomgeplateerd Roestvrij Staal voor Hydraulische & Pneumatische Toepassingen
  10. Printdur® 4404: 316L Roestvrij Staal voor Additive Manufacturing
  11. Molybdeen-Hafnium-Koolstof (MHC): Hoge-Temperatuur, Deeltjes-Versterkt Legering