Ensimmäisen extension-laajennuksen kirjoittaminen
Lisää uusia metodeja sisäänrakennettuun tyyppiin
Ensimmäisen extension-laajennuksen kirjoittaminen on ilmainen Dart Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. 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 Dart Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Dart Academy-kurssilla on yhteensä 4 oppituntia.
Metodit, joita ei voi lisätä
Oletteko koskaan toivoneet, että int-tyypillä olisi kätevä metodi, jota siinä ei kuitenkaan ole? Ette voi muokata sisäänrakennettua luokkaa, mutta Dart tarjoaa toisen tavan laajentaa sitä.
Tutustukaa laajennukseen
Laajennuksen avulla voitte lisätä uusia metodeja olemassa olevaan tyyppiin ilman aliluokan luomista tai lähdekoodin muuttamista. 🎁
extension on String {
// new methods go here
}Perusrakenne
Kirjoitatte extension Name on Type ja lisäätte sitten metodit aaltosulkeiden sisään. Nimi on vapaasti valittavissanne, ja tyyppi kertoo, mitä laajennatte.
extension NumberParsing on String {
int doubled() => int.parse(this) * 2;
}this tarkoittaa vastaanottajaa
Laajennuksen sisällä this viittaa arvoon, jolle kutsuitte metodia, aivan kuten tavallisen luokan metodin sisällä.
extension on int {
int squared() => this * this;
}Kutsukaa sitä kuin oikeaa metodia
Kun metodi on määritelty, se tuntuu täysin natiiviltä. Kutsutte sitä pisteellä aivan kuten tyypin mukana toimitettavia metodeja.
print(5.squared()); // 25Lisätkää getter metodin sijaan
Laajennuksiin voi lisätä myös gettereitä. Kun jätätte sulkeet pois, saatte mistä tahansa arvosta selkeän, ominaisuuden kaltaisen lukuoperaation.
extension on int {
bool get isEven2 => this % 2 == 0;
}
print(4.isEven2);Laajennukset ovat staattisia
Ratkaisu tehdään käännösaikana staattisen tyypin perusteella. Alkuperäiseen luokkaan ei tehdä lainkaan muutoksia suorituksen aikana.
Nimi on valinnainen
Voitte kirjoittaa jopa nimettömän laajennuksen. Se toimii silti, mutta nimi helpottaa sen piilottamista tai tuomista myöhemmin tarvittaessa.
extension on double {
String money() => "$" + toStringAsFixed(2);
}Pitäkää yksi idea laajennusta kohden
Ryhmitelkää toisiinsa liittyvät apukeinot yhden selkeän nimen alle. Pienet, hyvin nimetyt laajennukset ovat helpompia lukea kuin yksi valtava sekalainen kokoelma.
extension StringCasing on String {
String shout() => toUpperCase() + "!";
}Kenttiä ei voi lisätä
Laajennukset lisäävät metodeja ja gettereitä, mutta eivät uusia ilmentymäkenttiä. Alkuperäisessä objektissa ei ole paikkaa niiden tallentamiseen.
Miksi tämä on tehokasta
Laajennusten avulla saatte luettavia ja helposti löydettäviä apukeinoja ilman kääreluokkia. Arkiset tyyppinne saavat juuri sen sanaston, jota sovelluksenne tarvitsee.
Pikatarkistus
Tarkistetaan laajennuksen ydinsyntaksi.
Kertaus: ensimmäinen laajennuksenne
Opitte, että extension on Type lisää metodeja ja gettereitä olemassa oleviin tyyppeihin, käyttää vastaanottajaan viittaamiseen this-sanaa ja ratkaistaan staattisesti. 🚀
Opi Dart 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
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”Ensimmäisen extension-laajennuksen kirjoittaminen” ilmainen?
Kyllä – oppitunnin ”Ensimmäisen extension-laajennuksen kirjoittaminen” 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 Dart Academy-kurssin, päivitä CoddyKit PROhon. Dart Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Ensimmäisen extension-laajennuksen kirjoittaminen”?
Lisää uusia metodeja sisäänrakennettuun tyyppiin Harjoittelet Dart Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Dart Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Dart Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Ensimmäisen extension-laajennuksen kirjoittaminen”-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ä Dart Academy-oppitunnilla?
Kyllä. Jokainen Dart 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
- Ensimmäisen extension-laajennuksen kirjoittaminen
- Geneeristen tyyppien laajennukset
- Staattiset extension-jäsenet ja ristiriidat
- Extension-tyypit kustannuksettomille kääreille