En aquest tema, explorarem els conceptes fonamentals de la programació orientada a objectes (POO) en Kotlin, incloent-hi la creació de classes, la instanciació d'objectes i l'ús de propietats i mètodes.
Objectius d'Aprenentatge
Al final d'aquest tema, hauràs après:
- Com definir classes en Kotlin.
- Com crear i utilitzar objectes.
- Com treballar amb propietats i mètodes dins de les classes.
- La diferència entre classes i objectes.
- Definició de Classes
Una classe és una plantilla per crear objectes. Defineix un conjunt de propietats i mètodes que els objectes creats a partir de la classe poden tenir.
Exemple de Classe
class Persona {
var nom: String = ""
var edat: Int = 0
fun saludar() {
println("Hola, el meu nom és $nom i tinc $edat anys.")
}
}Explicació
class Persona: Defineix una nova classe anomenadaPersona.var nom: String = "": Declara una propietat mutablenomde tipusStringamb un valor inicial buit.var edat: Int = 0: Declara una propietat mutableedatde tipusIntamb un valor inicial de 0.fun saludar(): Defineix un mètodesaludarque imprimeix un missatge de salutació.
- Creació d'Objectes
Un objecte és una instància d'una classe. Per crear un objecte, utilitzem el constructor de la classe.
Exemple de Creació d'Objectes
Explicació
val persona1 = Persona(): Crea una nova instància de la classePersonai l'assigna a la variablepersona1.persona1.nom = "Joan": Assigna el valor "Joan" a la propietatnomde l'objectepersona1.persona1.edat = 25: Assigna el valor 25 a la propietatedatde l'objectepersona1.persona1.saludar(): Crida el mètodesaludarde l'objectepersona1.
- Constructors
Els constructors són funcions especials que s'utilitzen per inicialitzar objectes. Kotlin proporciona un constructor primari i constructors secundaris.
Constructor Primari
class Persona(val nom: String, var edat: Int) {
fun saludar() {
println("Hola, el meu nom és $nom i tinc $edat anys.")
}
}Explicació
class Persona(val nom: String, var edat: Int): Defineix un constructor primari que inicialitza les propietatsnomiedat.
Exemple d'Ús del Constructor Primari
Explicació
val persona1 = Persona("Joan", 25): Crea una nova instància de la classePersonautilitzant el constructor primari.
- Propietats i Mètodes
Les propietats són variables que pertanyen a una classe, mentre que els mètodes són funcions que pertanyen a una classe.
Exemple de Propietats i Mètodes
class Cotxe(val marca: String, var model: String) {
fun accelerar() {
println("El $marca $model està accelerant.")
}
}Explicació
class Cotxe(val marca: String, var model: String): Defineix una classeCotxeamb les propietatsmarcaimodel.fun accelerar(): Defineix un mètodeaccelerarque imprimeix un missatge.
Exemple d'Ús
Explicació
val cotxe1 = Cotxe("Toyota", "Corolla"): Crea una nova instància de la classeCotxe.cotxe1.accelerar(): Crida el mètodeaccelerarde l'objectecotxe1.
Exercicis Pràctics
Exercici 1: Crear una Classe
Crea una classe Llibre amb les propietats títol (String) i autor (String). Afegeix un mètode descripcio que imprimeixi una descripció del llibre.
Solució
class Llibre(val titol: String, val autor: String) {
fun descripcio() {
println("El llibre '$titol' ha estat escrit per $autor.")
}
}
fun main() {
val llibre1 = Llibre("1984", "George Orwell")
llibre1.descripcio()
}Exercici 2: Utilitzar Constructors
Modifica la classe Llibre per afegir un constructor secundari que inicialitzi el títol com "Desconegut" si no es proporciona cap valor.
Solució
class Llibre(val titol: String, val autor: String) {
constructor(autor: String) : this("Desconegut", autor)
fun descripcio() {
println("El llibre '$titol' ha estat escrit per $autor.")
}
}
fun main() {
val llibre1 = Llibre("1984", "George Orwell")
llibre1.descripcio()
val llibre2 = Llibre("Autor Anònim")
llibre2.descripcio()
}Resum
En aquest tema, hem après a:
- Definir classes i crear objectes en Kotlin.
- Utilitzar propietats i mètodes dins de les classes.
- Treballar amb constructors per inicialitzar objectes.
Aquestes habilitats són fonamentals per a la programació orientada a objectes i seran la base per a temes més avançats en Kotlin. En el següent tema, explorarem la herència i les interfícies, que ens permetran reutilitzar i estendre el codi de manera eficient.
Curs de Programació en Kotlin
Mòdul 1: Introducció a Kotlin
- Introducció a Kotlin
- Configuració de l'Entorn de Desenvolupament
- Conceptes Bàsics de Kotlin: Variables i Tipus de Dades
- Flux de Control: Condicionals i Bucles
- Funcions i Lambdas
Mòdul 2: Programació Orientada a Objectes en Kotlin
- Classes i Objectes
- Herència i Interfícies
- Modificadors de Visibilitat
- Classes de Dades i Classes Segellades
- Declaracions d'Objectes i Objectes Companys
Mòdul 3: Funcions Avançades de Kotlin
- Col·leccions i Genèrics
- Funcions d'Extensió
- Funcions d'Ordre Superior i Programació Funcional
- Coroutines i Programació Asíncrona
- DSL (Llenguatge Específic de Domini) en Kotlin
Mòdul 4: Kotlin per al Desenvolupament d'Android
- Introducció al Desenvolupament d'Android amb Kotlin
- Construcció d'Interfícies d'Usuari
- Gestió de l'Entrada de l'Usuari
- Xarxes i Emmagatzematge de Dades
- Proves i Depuració
