Cześć,
Zaczynam przygodę z programowaniem.
Znalazłem takie oto zadanie do zrobienie w C sharp:
Napisz program, który tworzy klasę Prostokat, zawierającą dwie prywatne dane
składowe: dlugosc, szerokosc, dwie prywatne metody: powierzchnia(), obwod() oraz metodę
publiczną – Prezentuj() (która wyświetla powierzchnię i obwód prostokąta) i konstruktor
inicjalizujący. W metodzie Main() zdefiniuj obiekt i uruchom dla niego metodę Prezentuj().
Zrobiłem tak (działa):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication28
{
class Program
{
public class Prostokat
{
private double szerokosc;
private double dlugosc;
private double powierzchnia;
private double obwod;
public double Powierzchnia // właściwość
{
get { return powierzchnia; }
set { powierzchnia = value; }
}
public double Obwod // właściwość
{
get { return obwod; }
set { obwod = value; }
}
public double Szerokosc // właściwość
{
get { return szerokosc; }
set { szerokosc = value; }
}
public double Dlugosc // właściwość
{
get { return dlugosc; }
set { dlugosc = value; }
}
public Prostokat(double szerokosc1, double dlugosc1) // konstruktor
{
szerokosc = szerokosc1;
dlugosc = dlugosc1;
powierzchnia = this.powierzchniamet(szerokosc, dlugosc);
obwod = this.obwodmet(szerokosc, dlugosc);
}
private double powierzchniamet(double szer1, double dlug1) // metoda
{
return szer1 * dlug1;
}
private double obwodmet(double szer2, double dlug2) // metoda
{
return 2 * (szer2 + dlug2);
}
public void prezentuj(double pow1, double obw1) // metoda
{
Console.WriteLine("szerokosc: {0}, dlugosc: {1}", this.Szerokosc, this.Dlugosc);
Console.WriteLine("powierzchnia: {0}, obwod: {1}", pow1, obw1);
}
}
static void Main(string[] args)
{
Prostokat pr1 = new Prostokat(2, 1);
pr1.prezentuj(pr1.Powierzchnia, pr1.Obwod);
Console.ReadKey();
}
}
}
I tu moje pytanie czy da się to zrobić mądrzej? tzn. na pewno się da, tylko jak?