Klasy i właściwości
Zam modeluje Pan/Pani dane za pomocą klas.
Klasy i właściwości to bezpłatna lekcja Android Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Android Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Android Academy zawiera 4 lekcji w sumie.
Czym jest klasa?
Klasa to wzorzec służący do tworzenia obiektów. Łączy powiązane dane i zachowanie w jednym typie.
Na przykład klasa Dog może opisywać imię i wiek każdego psa oraz wydawany przez niego szczek.
Deklarowanie klasy
Klasę deklaruje się za pomocą słowa kluczowego class i nazwy. Nazwy klas zapisuje się w stylu PascalCase.
Pusta klasa jest całkowicie poprawna; można nawet pominąć nawiasy klamrowe.
class Dog
fun main() {
println("Class declared")
}Tworzenie obiektu
Obiekt (lub instancja) to rzeczywisty element utworzony na podstawie klasy. W Kotlinie tworzy się go, wywołując nazwę klasy jak funkcję.
Proszę zauważyć, że nie ma tu słowa kluczowego new.
class Dog
fun main() {
val rex = Dog()
println(rex)
}Właściwości
Właściwość to zmienna należąca do klasy. Deklaruje się ją wewnątrz treści klasy za pomocą val lub var.
Elementu val należy używać dla wartości, które nigdy się nie zmieniają, a var — dla wartości, które mogą się zmieniać.
class Dog {
var name: String = "Rex"
var age: Int = 3
}
fun main() {
val d = Dog()
println(d.name)
}Dostęp do właściwości
Użyj notacji kropkowej, aby odczytać właściwość lub ją zmienić: object.property.
Ponieważ name jest typu var, można przypisać jej nową wartość.
class Dog {
var name: String = "Rex"
}
fun main() {
val d = Dog()
d.name = "Buddy"
println(d.name)
}Właściwości val a var
Właściwość val jest tylko do odczytu po jej ustawieniu. Próba przypisania jej nowej wartości powoduje błąd kompilacji.
Właściwości var można przypisywać nowe wartości dowolną liczbę razy.
class Circle {
val pi = 3.14
var radius = 1.0
}
fun main() {
val c = Circle()
c.radius = 5.0
println(c.radius)
}Metody
Funkcja zadeklarowana wewnątrz klasy jest nazywana metodą. Metody mogą bezpośrednio korzystać z właściwości klasy.
W tym przykładzie bark korzysta z właściwości name.
class Dog {
var name: String = "Rex"
fun bark() {
println(name + " says Woof!")
}
}
fun main() {
Dog().bark()
}Wiele obiektów
Każdy obiekt ma własną kopię właściwości. Zmiana jednego obiektu nie wpływa na inny.
W tym przykładzie a i b przechowują niezależne nazwy.
class Dog {
var name: String = ""
}
fun main() {
val a = Dog()
val b = Dog()
a.name = "Rex"
b.name = "Max"
println(a.name + " " + b.name)
}Domyślne wartości właściwości
Każda właściwość musi mieć wartość. Można ustawić rozsądną wartość domyślną podczas jej deklarowania.
Dzięki temu nowy obiekt rozpoczyna działanie w znanym stanie, zamiast mieć wartość undefined.
class Counter {
var count: Int = 0
fun increment() {
count = count + 1
}
}
fun main() {
val c = Counter()
c.increment()
println(c.count)
}Łączenie właściwości i metod
Klasa jest najbardziej użyteczna, gdy właściwości i metody współpracują ze sobą. Metoda może odczytywać i aktualizować własne właściwości obiektu.
W tym przykładzie haveBirthday zwiększa właściwość age przy każdym wywołaniu.
class Dog {
var name: String = "Rex"
var age: Int = 1
fun haveBirthday() {
age = age + 1
}
}
fun main() {
val d = Dog()
d.haveBirthday()
println(d.age)
}Klasy odwzorowują rzeczywiste elementy
Klasy pozwalają odwzorowywać w kodzie idee ze świata rzeczywistego.
- Właściwości opisują, co coś ma.
- Metody opisują, co coś może robić.
W Androidzie ekrany, przyciski i view modele są tworzone na podstawie klas.
Szybkie sprawdzenie
Sprawdź swoją wiedzę na temat klas i właściwości.
Podsumowanie
Dowiedział się Pan/Dowiedziała się Pani, że klasa jest szablonem, a obiekt jest utworzoną na jego podstawie instancją.
Właściwości przechowują dane za pomocą val lub var, metody dodają zachowanie, a notacja kropkowa umożliwia dostęp do nich. Następnie skonfiguruje Pan/Pani właściwości w uporządkowany sposób za pomocą konstruktorów.
Często zadawane pytania
Czy lekcja „Klasy i właściwości” jest bezpłatna?
Tak — pełny tekst „Klasy i właściwości” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Android Academy, przejdź na CoddyKit PRO. Kurs Android Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Klasy i właściwości”?
Zam modeluje Pan/Pani dane za pomocą klas. Ćwiczysz Android Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Android Academy?
Nie wymagamy żadnego doświadczenia. Android Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Klasy i właściwości”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Android Academy?
Tak. Każda lekcja Android Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Deklarowanie funkcji
- Klasy i właściwości
- Konstruktory i init
- Klasy danych