Introducció
En aquest tema, aprendrem sobre els conceptes fonamentals de la programació orientada a objectes (POO) en C#. Ens centrarem en les classes i els objectes, que són els blocs de construcció bàsics de la POO.
Objectius
- Entendre què són les classes i els objectes.
- Aprendre a definir i utilitzar classes en C#.
- Comprendre els conceptes de membres de classe, com ara camps, propietats i mètodes.
- Crear instàncies d'objectes i accedir als seus membres.
Què és una Classe?
Una classe és una plantilla o un plànol per crear objectes. Defineix un conjunt de propietats i mètodes que seran comuns a tots els objectes creats a partir d'aquesta classe.
Definició d'una Classe
public class Persona { // Camps public string Nom; public int Edat; // Mètode public void Saludar() { Console.WriteLine($"Hola, el meu nom és {Nom} i tinc {Edat} anys."); } }
Explicació del Codi
public class Persona
: Defineix una nova classe anomenadaPersona
.public string Nom;
: Defineix un camp públic de tipusstring
anomenatNom
.public int Edat;
: Defineix un camp públic de tipusint
anomenatEdat
.public void Saludar()
: Defineix un mètode públic que imprimeix un missatge de salutació.
Què és un Objecte?
Un objecte és una instància d'una classe. Quan creem un objecte, estem creant una instància específica d'aquesta classe amb valors concrets per als seus camps.
Creació d'un Objecte
Explicació del Codi
Persona persona1 = new Persona();
: Crea una nova instància de la classePersona
i l'assigna a la variablepersona1
.persona1.Nom = "Joan";
: Assigna el valor "Joan" al campNom
de l'objectepersona1
.persona1.Edat = 30;
: Assigna el valor 30 al campEdat
de l'objectepersona1
.persona1.Saludar();
: Crida el mètodeSaludar
de l'objectepersona1
, que imprimeix el missatge de salutació.
Propietats
Les propietats són una manera d'encapsular els camps d'una classe, proporcionant un accés controlat a aquests camps.
Definició de Propietats
public class Persona { // Propietats public string Nom { get; set; } public int Edat { get; set; } // Mètode public void Saludar() { Console.WriteLine($"Hola, el meu nom és {Nom} i tinc {Edat} anys."); } }
Explicació del Codi
public string Nom { get; set; }
: Defineix una propietat públicaNom
amb mètodes d'accésget
iset
.public int Edat { get; set; }
: Defineix una propietat públicaEdat
amb mètodes d'accésget
iset
.
Exercicis Pràctics
Exercici 1: Crear una Classe
-
Defineix una classe anomenada
Cotxe
amb els següents camps:Marca
(string)Model
(string)Any
(int)
-
Afegeix un mètode anomenat
MostrarDetalls
que imprimeixi els detalls del cotxe.
Solució
public class Cotxe { public string Marca { get; set; } public string Model { get; set; } public int Any { get; set; } public void MostrarDetalls() { Console.WriteLine($"Marca: {Marca}, Model: {Model}, Any: {Any}"); } }
Exercici 2: Crear i Utilitzar Objectes
- Crea una instància de la classe
Cotxe
i assigna valors als seus camps. - Crida el mètode
MostrarDetalls
per imprimir els detalls del cotxe.
Solució
Cotxe cotxe1 = new Cotxe(); cotxe1.Marca = "Toyota"; cotxe1.Model = "Corolla"; cotxe1.Any = 2020; cotxe1.MostrarDetalls();
Resum
En aquest tema, hem après sobre les classes i els objectes en C#. Hem vist com definir classes, crear objectes i utilitzar membres de classe com ara camps, propietats i mètodes. A més, hem practicat aquests conceptes amb exercicis pràctics.
En el següent tema, explorarem els mètodes en més detall, incloent-hi els mètodes estàtics i d'instància, així com els paràmetres i els valors de retorn.
Curs de Programació en C#
Mòdul 1: Introducció al C#
- Introducció al C#
- Configuració de l'Entorn de Desenvolupament
- Programa Hello World
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
Mòdul 2: Estructures de Control
Mòdul 3: Programació Orientada a Objectes
Mòdul 4: Conceptes Avançats de C#
- Interfícies
- Delegats i Esdeveniments
- Genèrics
- Col·leccions
- LINQ (Consulta Integrada al Llenguatge)
- Programació Asíncrona
Mòdul 5: Treballant amb Dades
Mòdul 6: Temes Avançats
- Reflexió
- Atributs
- Programació Dinàmica
- Gestió de Memòria i Recollida d'Escombraries
- Multifil i Programació Paral·lela
Mòdul 7: Construcció d'Aplicacions
Mòdul 8: Millors Pràctiques i Patrons de Disseny
- Estàndards de Codificació i Millors Pràctiques
- Patrons de Disseny
- Proves Unitàries
- Revisió de Codi i Refactorització