C# i Java: Porównanie składni i szybkie przypomnienie

C# i Java. Jakie mechanizm podstawowe są takie same w tych językach programowania

1. Zmienne

24 stycznia 2014

Zmienne Część NR.1 Witam w nowym cyklu, w którym szybko będę omawiał składnie języka C#, Java bez zbędnego opisu. Typ wartościowy i typ referencyjny? Nie będzie takich opisów, bo mówimy tutaj o składni języka. . Zauważyłem, że 70% ruchu na moje stronie dotyczy wpisów z C# dla początkujących więc kto wie może to nie jest taki głupi pomysł.

 

Obliczyłem, że ten cykl zajmie 27 wpisów, ale przy dobrym planie powinien zakończyć ten cykl.

2. Operatory

9 listopada 2014

Operatory Część NR.2 Operatory są używane do operowania wartościami.

Można je pogrupować do pięciu typów operatorów: arytmetyczne, przypisania, porównania, logiczne i bitowe.

 

Witam w drugiej części cyklu, która ma uświadomić czytelnika, że składnia językowa pomiędzy Java, a C# nie wiele się różni. Jeśli dobrze znasz Jave lub C#, a nie znasz tego drugiego języka mam nadzieje, że ten wpis ciebie przekona, że ten skok potrzebny do nauki kolejnego języka programowania nie jest taki duży.

3. String

11 listopada 2014

String Część NR.3 Co typ przechowujący napis w obu językach ma wspólnego? Deklaracja napisu do zmiennej jest dosyć prosta.

string s = “Cześć”;

Metody operujące na napisach są różne w Javie i w C#.

Typy te jednak mają pewne cechy wspólne w obu językach.

4. Tablice

11 listopada 2014

Tablice Część NR.4 Tablica jest strukturą danych używana do sortowania kolekcji wartości. Występuje ona oczywiście  C# i w Javie. Działają one tak samo. Dlatego powstał ten wpis.

Jest ona dosyć prymitywna. Ja osobiście nie pamiętam kiedy ostatnio użyłem tablicy. Każdy jednak kto studiował programowanie na uczelni to zapewne zaczynał swoją przygodę z tą kolekcją.

6. Pętle

24 marca 2015

Pętle Część NR.6

W C# i w Javie mamy 4 struktury pętli.

Pętli używamy by wielokrotnie wykonać kod. Podobnie jak z wyrażeniem “if” kod do wykonywania w  pętli znajduje się wewnątrz nawiasów klamrowych.

Jeśli mamy do dyspozycji tylko 1 blok kodu do wykonania, to nie musimy używać nawiasów klamrowych.

7. Metody

25 marca 2015

Metody Część NR.7 Metody to bloki kodu, które są wykonywane wtedy, gdy są one wywoływane. óóóó

Jak się można domyślać ta cześć składni języka C# i Javy nie rożni się za bardzo.

Metody są tworzone poprzez określenie:

8. Klasy, Rzutowanie

11 listopada 2015

Klasa Część NR.8

Klasa jest to szablon używany do tworzenia obiektów. Klasy składają się głównie z dwóch członów: pól i metod. (C# ma tego więcej)

Pola są zmiennymi, które trzymają stan obiektu. Metody definiują, co obiekt potrafi.

Poniżej znajduje się klasa opisująca kwadrat. Ma ona dwa pola x i y oraz metodę GetArea().

9. Static

24 listopada 2015

Static Część NR.9 Słowo kluczowe “static” jest używane do tworzenia pól i metod do których dostęp nie wymaga utworzenia instancji klasy.

Statyczne elementy wewnątrz klasy należą do samej klasy. Nie statyczne elementy są kojarzone z każdą kopią obiektu.

Oznacza to, że każde statyczne elementy nie mogą używać elementów powiązanych z instancją/obiektem danej klasy. Na poziomie statycznych elementów instancja klasy i jej elementy nie istnieją.

Z drugiej strony metody niestatyczne mogą korzystać z statycznych metod i pól.

10. Dziedziczenie

24 listopada 2015

Dziedziczenie Część NR.10

Dziedziczenie pozwala klasie na uzyskanie elementów (pól, metody) innej klasy. W przykładzie poniżej klasa kwadrat dziedziczy po klasie prostokąt.

Prostokąt staje się klasą bazową Kwadratu.

W dodatku wszystkie elementy klasy Prostokąt, jeśli są one dostępne stają się elementami klasy Kwadrat. Wyjątkami są konstruktor i w przypadku C# destruktory.

11. Poziomy dostępu

26 listopada 2015

Poziom.D Część NR.11

Poziomy dostępu deklarują na jakim poziomie dany element klasy bądź sama klasa jest widoczna.

W Javie mamy 4 typy dostępu. Są one następujące: public, protected, private i private na poziomie paczki.

Ten ostatni poziom nie może być jawnie zadeklarowany za pomocą słowa kluczowego.

Warto zaznaczyć, że poziom dostępu protected daje dostęp do wszystkich klas w danej paczce, nawet jeśli one nie dziedziczą po tej klasie.

12. Stałe Constants

26 listopada 2015

Stałe Część NR.12

Zmienna w C# określona słowem kluczowym const staje się stałą, której zawartość jest na zawsze zawarta w bibliotece, w trakcie kompilacji. Ta wartość nie może zostać zmieniona w trakcie działania programu.

Próba przypisania jakiekolwiek wartości do stałej będzie skutkować błędem.

Stałe muszą znajdować się w klasie jako pole lub w lokalnym bloku kodu .

13. Interfejsy

26 listopada 2015

Interfejsy Część NR.13

Interfejs to typ, którego zadaniem jest rozłączenie implementacji działania od definicji parametrów wyjścia.wejścia.

Jest to specyficzny kontrakt, który jest implementowany przez klasy. Kontrakt ten zawiera tylko informacje o co dana metoda ma się zwrócić i co ma ona przyjąć. Definicja działania jest już określona w klasie.

14. Abstrakcyjne

9 grudnia 2015

Abstrakcja Część NR.14

Klasa abstrakcyjna dostarcza implementacje innym klasom. Klasa abstrakcyjna jest więc taką podstawką dla pozostałych klas.

Klasa abstrakcyjna może zawierać zestaw kompletnych metod, które będzie posiadać klasa pochodna. Klasa abstrakcyjna może też mieć zestaw abstrakcyjnych metod, które nie są zdefiniowane w swoim działaniu. Podobnie do interfejsów, w takich metodach istnieje tylko sygnatura metod. Nie ma w nich ciała.

15. Typ wyliczeniowy

9 grudnia 2015

Enum Część NR.15

Typ wyliczeniowy jest to typ, który zawiera określoną liczbę nazwanych stałych. Aby utworzyć typ wyliczeniowy wystarczy użyć słowa kluczowego “enum” zamiast “class”.

Wewnątrz nawiasów klamrowych po przecinku definiujemy listę stałych elementów. Zasady poziomu dostępu typu wyliczeniowego są takie same jak zasady dla klasy.

W Javie stałe wartości enum są pisane z dużych liter.

Try-Catch Część NR.16

Przechwytywanie wyjątków pozwala programistom rozwiązać problem związany z tym, że w każdej aplikacji może wystąpić nieprzywidziana sytuacja.

Przykładowo jeśli chcesz otworzyć plik używając FileReader z Javy, albo StreamReader z C#, to istnieje kilka sytuacji, które mogą wywołać błąd działania, czyli wyjątek. Przykładowo plik może nie istnieć.

17. Generics Generyczne

29 grudnia 2015

Generics Część NR.17

Generics, Typy generyczne referują się do definicji metody, klasy i interfejsów, które operują zależnie od tego, co podasz jako parametr generyczny.

Typy generyczne mają wiele zalet jedną z nich jest wykrywanie ich działania już na poziomie pisania kodu. Dzięki nim też możemy uniknąć konwersji typów.

18. Generics ograniczenia

29 grudnia 2015

Constrains Część NR.18

Generics, Typy generyczne referują się do typów, których definicja metody, klasy i interfejs operują zależnie od tego, co podasz do niego.

Typy generyczne mają wiele zalet jedną z nich jest wykrywanie ich działania już na poziomie pisania kodu oraz to, że pozwalają na uniknięcie konwersji typów.

 

19. Przeciązanie metod

29 grudnia 2015

Przeciążanie Część NR.19

Witaj w przedostatnim  wpisie z tego cyklu. Poza wielkim podsumowaniem czego w Javie nie ma, a jest w C# wypadałoby jeszcze coś powiedzieć o przeciążaniu metod w C# i w Javie, ponieważ różnice są.

Zacznijmy od C#.

Elementy klasy pochodnej mogą redefiniować metodę klasy bazowej. W klasie pochodnej tworzymy metodę o tej samej nazwie i liście parametrów, co metoda w klasie pochodnej.

Metoda ta będzie miała nowe zachowanie. Inne niż metoda z klasy bazowej.

Wszystkie Kategorie