Getters och Setters 2 – Hur går det till egentligen? – Auto Implemented Properties



Getters och Setters 2 – Hur går det till egentligen? – Auto Implemented Properties

0 0


gettersochsetters2


On Github FIGYPRRPRR021516 / gettersochsetters2

Getters och Setters 2

Hur går det till egentligen?

Getters och Setters

  • Vi har sett att enligt OOP ska vi ha privata datamedlemmar
  • Sedan skriver vi metoder för att påverkar dessa.
  • Dessa metoder, som skrivs endast för att påverka datamedlemmar, kallas för getters och setters.

Getters and Setters exempel

class Robot
{
	private int noLegs;
	private double energy;

	//Detta är en getter för noLegs
	public int GetNoLegs()
	{
		return noLegs;
	}

	//Och detta är en setter för noLegs
	public void SetNoLegs(int noLegs)
	{
		this.noLegs = noLegs;
	}
}
					

Getters och Setters - Ett smidigare sätt

Att skriva getters och setters är nåt som förekommer ofta i OOP Det finns därför ett smidigare sätt att göra detta i C#
public string FirstName { get; set; } = "Jane";
						

Auto Implemented Properties

class Program
{
    static void Main()
    {
        // Intialize a new object.
        Customer cust1 = new Customer ( 4987.63, "Northwind",90108 );

        //Modify a property
        cust1.TotalPurchases += 499.99;
    }
}
					
// This class is mutable. Its data can be modified from
// outside the class.
class Customer
{
    // Auto-Impl Properties for trivial get and set
    public double TotalPurchases { get; set; }
    public string Name { get; set; }
    public int CustomerID { get; set; }

    // Constructor
    public Customer(double purchases, string name, int ID)
    {
        TotalPurchases = purchases;
        Name = name;
        CustomerID = ID;
    }
    // Methods
    public string GetContactInfo() {return "ContactInfo";}
    public string GetTransactionHistory() {return "History";}

    // .. Additional methods, events, etc.
}
					
Getters och Setters 2 Hur går det till egentligen?