Introduzione a classi e oggetti
Fa parte della sezione Programmazione orientata agli oggetti del percorso C# di Coddy. Lezione 3 di 70.
Una classe è un modello per creare oggetti. Un oggetto è un’istanza di una classe che contiene dati e comportamenti.
Definisci una semplice classe con proprietà
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}Aggiungi un costruttore per inizializzare l'oggetto
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
}Aggiungi un metodo per definire il comportamento
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
public string Bark()
{
return $"{Name} says Woof!";
}
}Crea un oggetto (istanza) e usalo
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");Output:
Buddy says Woof!
Age: 3La parola chiave new crea un'istanza della classe, chiamando il costruttore. Puoi creare più oggetti dalla stessa classe, ciascuno con dati diversi.
Sfida
FacileCompleta la classe Car aggiungendo un costruttore e un metodo Drive(). Poi crea un oggetto Car in Program.cs e usalo.
Il metodo Drive() dovrebbe restituire: "The {Brand} is driving!"
Provalo tu
using System;
class Program
{
static void Main()
{
string brand = Console.ReadLine();
int year = int.Parse(Console.ReadLine());
// TODO: Crea un oggetto Car con i valori inseriti
// TODO: Stampa "Car: {brand} ({year})"
// TODO: Chiama il metodo Drive() e stampa il risultato
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Programmazione orientata agli oggetti
1Fondamenti della programmazione orientata agli oggetti
File esterniNamespace e direttiveIntroduzione a classi e oggettiLa parola chiave "this"Metodi e parametriCampi e proprietàCostruttoriInizializzatori di oggettiRiepilogo - Calcolatrice semplice4Ereditarietà
Sintassi di base dell'ereditarietà (:)La parola chiave 'base'Parole chiave virtual e overrideClassi sealedLa classe base 'object'Riepilogo - Gerarchia dei dipendenti7Funzionalità avanzate
Sovraccarico degli operatoriIndicizzatori (this[])Override di ToString()Metodi di estensioneRiepilogo - Lista personalizzata10Pattern di progettazione Parte 1
Introduzione ai pattern di progettazioneSingleton thread-safePattern FactoryPattern Observer (eventi)Pattern Strategy2Proprietà e membri statici
Proprietà implementate automaticamenteProprietà di sola lettura e di sola scritturaCampi e metodi staticiClassi staticheMembri con corpo di espressione5Polimorfismo e interfacce
Polimorfismo a compile time e runtimeInterfaccia o classe astrattaInterfacce multipleInterfacce espliciteUpcasting e downcastingRipasso: calcolatore di forme8Concetti avanzati di programmazione a oggetti
Composizione invece dell'ereditarietàTipi generici (classi e metodi)Delegati ed eventiAttributi e reflectionIDisposable e istruzione usingNozioni di base sull'iniezione delle dipendenze11Pattern di progettazione, parte 2
Pattern del ComandoPattern dell’AdattatorePattern del DecoratorePattern Template MethodPattern dello StatoPattern Composito3Architettura delle classi
Dati di istanza vs staticiParole chiave 'readonly' e 'const'Campi di supportoRiepilogo - Gestore di conti bancari6Incapsulamento
Modificatori di accessoProprietà per l'incapsulamentoImplementazione dell'occultamento dei datiModelli di immutabilitàRiepilogo - Registri degli studentiEsercitati da solo: Compilatore C# online