C# Academy · Oppitunti

Kentät, automaattiset ominaisuudet ja olioiden alustajat

Määritelkää kenttiä ja automaattisia ominaisuuksia sekä luokaa olioita tiiviillä object initializer -syntaksilla.

Oppitunti 1/38 vaihetta

Kentät, automaattiset ominaisuudet ja olioiden alustajat on ilmainen C# Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C# Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C# Academy-kurssilla on yhteensä 3 oppituntia.

Luokkien perusteiden yleiskatsaus

Tavoite: Rakentakaa yksinkertaisia luokkia.

  • Kentät sisältävät raakadataa
  • Automaattiset ominaisuudet tarjoavat datan käyttöön selkeästi
  • Olioalustajat asettavat arvot luomisen yhteydessä

Luokan kentät

Kentät ovat luokan sisällä olevia muuttujia. Julkisten tietojen tapauksessa ominaisuudet ovat turvallisempi ratkaisu.

using System;

// Fields store raw data inside a class
public class Player
{
  public string name; // field (usually prefer properties for public APIs)
  public int level;
}

public class Program
{
  public static void Main(string[] args)
  {
    Player p = new Player();
    p.name = "Ada";
    p.level = 1;
    Console.WriteLine("Player " + p.name + " level " + p.level);
  }
}

Automaattiset ominaisuudet

Automaattiset ominaisuudet tarjoavat datan käyttöön get/set-jäsenten kautta ilman kentän kirjoittamista. Niille voi määrittää yksinkertaiset oletusarvot.

using System;

// Auto-properties generate a hidden backing field
public class Book
{
  public string Title { get; set; }
  public string Author { get; set; }
  public int Pages { get; set; } = 0; // auto-property initializer (C# 6)
}

public class Program
{
  public static void Main(string[] args)
  {
    Book b = new Book();
    b.Title = "Clean Code";
    b.Author = "Robert C. Martin";
    b.Pages = 464;
    Console.WriteLine(b.Title + " by " + b.Author + " (" + b.Pages + " pages)");
  }
}

Olioalustajat

Olioalustajat asettavat ominaisuuksien arvot luomisen yhteydessä, joten koodi pysyy lyhyenä ja selkeänä.

using System;

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

public class Program
{
  public static void Main(string[] args)
  {
    // Object initializer calls set-accessors after construction
    Person p = new Person { Name = "Alan", Age = 30 };
    Console.WriteLine(p.Name + " (" + p.Age + ")");
  }
}

Kentät ja ominaisuudet

Ohje:

  • Käyttäkää sisäiseen tallennukseen private-kenttiä.
  • Tarjotkaa käyttöön public-ominaisuuksia, jotta voitte lisätä tarkistuksia myöhemmin rikkomatta kutsujien koodia.
  • Pitäkää nimet selkeinä ja yksinkertaisina.

Kentät ja ominaisuudet yhdessä

Yhdistäkää private-kenttä ja ominaisuus kirjoitusten hallitsemiseksi (yksinkertaiset invariantit).

using System;

// Private fields + public properties pattern
public class Product
{
  private int _stock;                   // field (internal storage)
  public string Name { get; set; }      // property (public API)
  public int Stock                      // property with simple guard
  {
    get { return _stock; }
    set
    {
      if (value < 0) value = 0; // simple safety for beginners
      _stock = value;
    }
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Product p = new Product { Name = "Pen", Stock = 5 };
    p.Stock = -3; // setter clamps to 0
    Console.WriteLine(p.Name + " stock = " + p.Stock);
  }
}

Automaattisen ominaisuuden käsite

Pikakysymys: Mikä on C#:n automaattinen ominaisuus?

Kertaus

Kertaus: Määrittäkää data kenttien avulla ja tarjotkaa se käyttöön automaattisten ominaisuuksien kautta. Asettakaa arvot luomisen yhteydessä olioalustajilla.

Aloita maksutta

Opi C# tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
93
Oppitunnit
346

Usein kysytyt kysymykset

Onko oppitunti ”Kentät, automaattiset ominaisuudet ja olioiden alustajat” ilmainen?

Kyllä – oppitunnin ”Kentät, automaattiset ominaisuudet ja olioiden alustajat” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C# Academy-kurssin, päivitä CoddyKit PROhon. C# Academy-kurssilla on yhteensä 3 oppituntia.

Mitä opin oppitunnilla ”Kentät, automaattiset ominaisuudet ja olioiden alustajat”?

Määritelkää kenttiä ja automaattisia ominaisuuksia sekä luokaa olioita tiiviillä object initializer -syntaksilla. Harjoittelet C# Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni C# Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin C# Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.

Kuinka kauan ”Kentät, automaattiset ominaisuudet ja olioiden alustajat”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä C# Academy-oppitunnilla?

Kyllä. Jokainen C# Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Kentät, automaattiset ominaisuudet ja olioiden alustajat
  2. Konstruktorit ja staattiset jäsenet
  3. Kapselointi ja invariantit
← Takaisin: C# Academy