Upload files to "/"
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
namespace ObiektowaTeoria
|
||||
{
|
||||
// Klasa abstrakcyjna - a, która nie może być bezpośrednio
|
||||
// zainstancjonowana (nie można tworzyć jej obiektów). Deklaruje się
|
||||
// ją za pomocą słowa kluczowego za pomocą "abstract". Może zawierać zarówno
|
||||
// metody abstrakcyjne (bez implementacji), jak i metody z implementacją.
|
||||
// Służy jako szablon dla klas dziedziczących, zapewniając wspólny interfejs i
|
||||
// bazową funkcjonalność. Klasy dziedziczące muszą implementować wszystkie metody
|
||||
// abstrakcyjne.
|
||||
public abstract class Figura
|
||||
{
|
||||
public abstract double Pole();
|
||||
}
|
||||
|
||||
// Klasa dziedzicząca implementująca abstrakcyjną metodę
|
||||
public class Kwadrat : Figura
|
||||
{
|
||||
public double Bok;
|
||||
|
||||
public Kwadrat(double bok)
|
||||
{
|
||||
Bok = bok;
|
||||
}
|
||||
|
||||
public override double Pole()
|
||||
{
|
||||
return Bok * Bok;
|
||||
}
|
||||
}
|
||||
|
||||
// Interfejs - czysty kontrakt, który definiuje metody i właściwości, ale nie zawiera ich implementacji.
|
||||
// Definiuje się go za pomocą słowa kluczowego interface. Klasy implementujące interfejs muszą dostarczyć implementację
|
||||
// wszystkich jego metod. Pozwala na tworzenie luźno powiązanych komponentów i ułatwia wielodziedziczenie zachowań.
|
||||
public interface IRysowalny
|
||||
{
|
||||
void Rysuj();
|
||||
}
|
||||
|
||||
// Klasa implementująca interfejs
|
||||
public class Kolo : IRysowalny
|
||||
{
|
||||
public double Promien;
|
||||
|
||||
public Kolo(double promien)
|
||||
{
|
||||
Promien = promien;
|
||||
}
|
||||
|
||||
public void Rysuj()
|
||||
{
|
||||
Console.WriteLine("Rysuję koło o promieniu " + Promien);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user