Kentät, automaattiset ominaisuudet ja olioiden alustajat
Määritelkää kenttiä ja automaattisia ominaisuuksia sekä luokaa olioita tiiviillä object initializer -syntaksilla.
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
Kertaus
Kertaus: Määrittäkää data kenttien avulla ja tarjotkaa se käyttöön automaattisten ominaisuuksien kautta. Asettakaa arvot luomisen yhteydessä olioalustajilla.
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
- Kentät, automaattiset ominaisuudet ja olioiden alustajat
- Konstruktorit ja staattiset jäsenet
- Kapselointi ja invariantit