Pliki zewnętrzne
Część sekcji Programowanie obiektowe ścieżki C# w Coddy. Lekcja 1 z 70.
Pliki zewnętrzne pozwalają organizować klasy w osobnych plikach C# i odwoływać się do nich w programie głównym za pomocą przestrzeni nazw.
Utwórz osobny plik C# o nazwie MyClass.cs
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}Odwołaj się do przestrzeni nazw w pliku głównym
using MyApp;Utwórz instancję i użyj jej
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());Wynik:
Hello, I'm AliceInstrukcja using MyApp; pozwala używać klas z przestrzeni nazw MyApp bez podawania ich pełnych nazw. Przestrzeń nazw grupuje powiązane klasy. W ramach jednego projektu klasy są domyślnie dostępne we wszystkich plikach; oznaczenie klasy jako public sprawia, że jest ona dostępna również z innych projektów (zestawów).
Wyzwanie
ŚredniOtrzymujesz pliki C# (MyClass.cs i Program.cs). Dodaj dyrektywę using w pliku Program.cs, aby połączyć pliki i użyć klasy z pliku zewnętrznego!
Spróbuj swoich sił
// TODO: Zastąp ? właściwą przestrzenią nazw, aby użyć MyClass
using ?;
using System;
class Program
{
static void Main()
{
string testCase = Console.ReadLine();
// Utwórz instancję MyClass i wywołaj GetMessage()
MyClass obj = new MyClass();
Console.WriteLine(obj.GetMessage());
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy programowania obiektowego
Pliki zewnętrznePrzestrzenie nazw i dyrektywyWprowadzenie do klas i obiektówSłowo kluczowe „this”Metody i parametryPola a właściwościKonstruktoryInicjalizatory obiektówPodsumowanie — prosty kalkulator4Dziedziczenie
Podstawowa składnia dziedziczenia (:)Słowo kluczowe 'base'Słowa kluczowe virtual i overrideKlasy sealedBazowa klasa 'object'Powtórzenie – hierarchia pracowników7Zaawansowane funkcje
Przeciążanie operatorówIndeksery (this[])Nadpisywanie ToString()Metody rozszerzającePodsumowanie – własna lista2Właściwości i składowe statyczne
Właściwości automatyczneWłaściwości tylko do odczytu i zapisuPola i metody statyczneKlasy statyczneSkładowe z ciałem wyrażeniowym5Polimorfizm i interfejsy
Polimorfizm czasu kompilacji a czasu wykonaniaInterfejs a klasa abstrakcyjnaWiele interfejsówJawne implementowanie interfejsówRzutowanie w górę i w dółPowtórka — kalkulator kształtów8Zaawansowane koncepcje OOP
Kompozycja zamiast dziedziczeniaTypy generyczne (klasy i metody)Delegaty i zdarzeniaAtrybuty i refleksjaIDisposable i instrukcja usingPodstawy wstrzykiwania zależności11Wzorce projektowe, część 2
Wzorzec poleceniaWzorzec adapteraWzorzec dekoratoraWzorzec metody szablonowejWzorzec stanuWzorzec kompozytu3Architektura klas
Dane instancji a dane statyczneSłowa kluczowe 'readonly' i 'const'Pola zapasowePowtórzenie — menedżer kont bankowych6Hermetyzacja
Modyfikatory dostępuWłaściwości w hermetyzacjiImplementacja ukrywania danychWzorce niezmiennościPowtórka — dane studentów9Argumenty zmiennej liczby
Słowo kluczowe „params”Parametry opcjonalneArgumenty nazwanePrzeciążanie metodPoćwicz samodzielnie: Kompilator C# online