Staattiset ja instanssivaatimukset
Erottakaa protokollien static-vaatimukset (tyyppitaso) ja instance-vaatimukset (oliotaso) toisistaan ja oppikaa, miten niitä toteutetaan protokollan mukaisissa tyypeissä.
Staattiset ja instanssivaatimukset on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 3 oppituntia.
Yleiskatsaus
Protokollat voivat vaatia instance- tai static-jäseniä. Kun ymmärrät niiden eron, voit suunnitella selkeitä API:ita.
Instanssivaatimus
Instanssivaatimukset on toteutettava protokollan mukaisen tyypin jokaisessa instanssissa.
protocol Drawable {
func draw() -> String
}
struct Circle: Drawable {
func draw() -> String { "Drawing a circle" }
}
print(Circle().draw())Static-vaatimus
Static-vaatimukset täytetään tyyppitason jäsenillä, kuten ominaisuuksilla tai metodeilla.
protocol Identifiable {
static var tag: String { get }
}
struct User: Identifiable {
static var tag: String { "USR" }
}
print(User.tag)Static luokissa
Luokat voivat toteuttaa static-vaatimukset joko static- tai class-määritteellä, jolloin ohitus on sallittu.
protocol Describable {
static func describeType() -> String
}
class Animal: Describable {
class func describeType() -> String { "Animal type" }
}
print(Animal.describeType())Sekamalli
Protokollissa yhdistetään usein static- ja instance-vaatimuksia joustavuuden lisäämiseksi.
protocol Logger {
static var system: String { get }
func log(_ msg: String)
}
struct ConsoleLogger: Logger {
static let system = "console"
func log(_ msg: String) { print("[\\(Self.system)]", msg) }
}
let logger = ConsoleLogger()
logger.log("hello")Huomautukset
Huomautukset:
- Käytä static-määrettä tyyppiä koskeviin tietoihin tai factory-metodeihin.
- Käytä instance-jäseniä oliokohtaiseen toimintaan.
- Luokat voivat käyttää
class-määrettä salliakseen static-jäsenten ohittamisen.
Static vai instance
Pikatarkistus: Mikä erottaa static-vaatimuksen?
Kertaus
Kertaus: Instanssivaatimukset koskevat jokaista oliota. Static-vaatimukset koskevat tyyppitasoa. Luokat voivat käyttää class-määrettä ohitettaviin static-jäseniin.
Opi Swift 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
- 122
- Oppitunnit
- 409
Usein kysytyt kysymykset
Onko oppitunti ”Staattiset ja instanssivaatimukset” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Staattiset ja instanssivaatimukset”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Staattiset ja instanssivaatimukset”?
Erottakaa protokollien static-vaatimukset (tyyppitaso) ja instance-vaatimukset (oliotaso) toisistaan ja oppikaa, miten niitä toteutetaan protokollan mukaisissa tyypeissä. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.
Kuinka kauan ”Staattiset ja instanssivaatimukset”-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ä Swift Academy-oppitunnilla?
Kyllä. Jokainen Swift 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
- Protokollien ja laajennusten perusteet
- Protokollalaajennukset ja tyyppilaajennukset
- Staattiset ja instanssivaatimukset