Wpis z mikrobloga

#programowanie

Proszę o wyjaśnienie przy takiej klasie z 2 metodami:
class Kwadrat
{
private int DlugoscBoku;

public int Pole(int DlugoscBoku)
{
return DlugoscBoku * DlugoscBoku;
}

public int Obwod(int DlugoscBoku)
{
return DlugoscBoku+DlugoscBoku;
}

}

Działa takie coś:
Kwadrat kwadrat1 = new Kwadrat();
Console.WriteLine(kwadrat1.Pole(4));
Console.WriteLine(kwadrat1.Obwod(5));

1. Czy dobrze to robię?
2. Czy da się zrobić aby zadziałało stworzenie kwadrat1 = new Kwadrat(4); i liczenie np kwadrat1.Pole(); i która wersja jest poprawna?

edit jak ten kod ostylować jako kod w tym zj*** mirkoblogu?
  • 8
  • Odpowiedz
@raider87: nie wiem co chcesz osiągnąć, więc nie wiadomo czy robisz dobrze. Raczej wątpię.

2. tak, da się i raczej tak powinno być to zrobione.

Jeśli masz taką samą nazwę pola w klasie (private int DlugoscBoku;) i argumentu w metodzie (int DlugoscBoku w metodach Pole i Obwod) - to jak wywołujesz te metody argument jest ważniejszy i pole jest schowane - wszystkie operacje wewnątrz tej metody odwołujące się do nazwy DlugoscBoku
  • Odpowiedz
@raider87: Musisz zdefiniować konstruktor, który pozwoli utworzyć obiekt o określonym parametrze.

public Kwadrat(int dlugoscBoku){
this.dlugoscBoku = dlugoscBoku;
}

i teraz:

Kwadrat k1 = new Kwadrat(4);
k1.twojametodametoda();

W pierwszej linii tworzysz obiekt o nazwie k1 i zadanym parametrze dlugoscBoku o wartości 4, a w drugiej wywołujesz wcześniej zdefiniowaną metodę na obiekcie k1.
  • Odpowiedz
  • 0
@raider87
Koledzy wyżej wyjaśnili co i jak (tj. Użyj konstruktora)

Swoją drogą twój wpis jest idealnym przykładem dla wszystkich którzy twierdzą, że matematyka nie jest potrzebna w programowaniu. Nie obrażaj się tylko.

Swoją drogą podrzucam od razu kilka rad na początek:
W programowaniu używaj języka angielskiego
Kup sobie jakąś książkę z podstaw programowania w c# i czytaj sobie przy śniadaniu/kolacji. To nic że się ufajda trochę jedzeniem, bo i tak drugi raz
  • Odpowiedz