Skip to content

Instantly share code, notes, and snippets.

@pjastr
Last active October 18, 2017 11:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pjastr/0a8305177c4d7e0ba4a59d79b7f88b73 to your computer and use it in GitHub Desktop.
Save pjastr/0a8305177c4d7e0ba4a59d79b7f88b73 to your computer and use it in GitHub Desktop.

Najprostszą metodą stworzenia obiektu jest skorzystanie z konstruktora niejawnego np. za pomocą instrukcji:

Car auto = new Car();

Jeśli w klasie mamy określona z odpowiednim modyfikatorem dostępu, możemy również od razu zainicjować pola. Przykładowy kod:

Car auto = new Car() { marka ="Ford", rokProdukcji=2014 };

Konstruktory używamy, aby stworzyć obiekty. Jest to specjalna metoda, której nazwa pokrywa się z nazwą klasy. Składania jest następująca:

modyfikator słowoKluczowe NazwaKlasy()
{
  //instrukcje
}

modyfikator słowoKluczowe NazwaKlasy(typParametru parametr, ...)
{
  //instrukcje
}

Klasa nie musi posiadać konstruktora. Modyfikator, słowo kluczowe lub parametry są jedynie opcją. Jednak określenie parametru wpływa na sposób tworzenia obiektu. Np. jeśli mamy w klasie konstruktor tylko z jednym parametrem, to nie możemy tworzyć obiektu konstruktorem domyślnym (bez parametru). Dlatego często korzystamy z tzw. przeciążenia konstruktorów.

class Class
  {
        public Class()
        {
        }
 
        public Class(string param1)
        {
        }
 
        public Class(string param1, string param2)
        {
        }
  }

Uwaga! Dobrą praktyką jest umieszczanie minimalnej instrukcji w konstruktorze. Pod kątem kompilacji poprawnie możemy tu dodać również inne metody, jednak powinniśmy rozdzielić zadania dla poszczególnych metod.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment