Dart vs. Java

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Přidán odkaz na DartPad.dev.)
(Zkrácený zápis metod s návratovou hodnotou: Oprava vzhledu)
 
(Nejsou zobrazeny 3 mezilehlé verze od 1 uživatele.)
Řádka 80: Řádka 80:
 
* V Dartu můžeme umístit více tříd do jednoho souboru.
 
* V Dartu můžeme umístit více tříd do jednoho souboru.
  
== Přístupnost vlastností tříd ==
+
 
 +
=== Přístupnost vlastností tříd ===
  
 
* Dart nepoužívá modifikátory přístupu <code>public</code>, <code>private</code> a <code>protected</code>.
 
* Dart nepoužívá modifikátory přístupu <code>public</code>, <code>private</code> a <code>protected</code>.
Řádka 108: Řádka 109:
  
 
Více viz: [https://www.woolha.com/tutorials/dart-using-access-modifiers-private-public Woolha.com > Dart using Access Modifiers] a [https://www.fluttersolution.com/2023/04/understanding-access-modifiers-in-dart.html FlutterSolution > Understanding Access Modifiers in Dart].
 
Více viz: [https://www.woolha.com/tutorials/dart-using-access-modifiers-private-public Woolha.com > Dart using Access Modifiers] a [https://www.fluttersolution.com/2023/04/understanding-access-modifiers-in-dart.html FlutterSolution > Understanding Access Modifiers in Dart].
 +
 +
=== Zkrácený zápis metod s návratovou hodnotou ===
 +
* Pro krátké metody můžeme využít syntaxi s&nbsp;<code>=></code>:
 +
class Osoba {
 +
    String _name = "Karel";
 +
 
 +
    String get name => _name;
 +
    set name(String name) => _name = name;
 +
}
 +
 +
void main() {
 +
  Osoba osoba = new Osoba();
 +
  osoba.name = "Ivan";
 +
  print(osoba.name);
 +
}
 +
Místo delšího:
 +
//...
 +
String get getName {
 +
    return _name;
 +
}
 +
void set setName(String name) {
 +
    _name = name;
 +
}
 +
//...
  
 
== Style: konvence pojmenování ==
 
== Style: konvence pojmenování ==

Aktuální verze z 26. 11. 2024, 12:39


Obsah

Dart vs. Java

Syntaxi si můžete vyzkoušet například na:

Hello world

main(){
   print("Hello, World!");
}

Datové typy

Více viz: Dart.dev > Built-in Types.

String

'Text'
"Text"
"""Víceřádkový
text"""
String text = 'Dart' 'is' 'fun';
String text = 'Dart'+'is'+'fun';
print('Seznam $data má největší prvek ${getMax(data)}');

Více o textech v Dartu: Dart.dev → String class.


Práce se seznamy

List<int> ids = [1, 2, 3];
ids.add(6);
print(ids[0]);
print(ids);
print(ids.length)


Zápis tříd


Přístupnost vlastností tříd

class A {
    String first;
    String _second;
  
    String get second {
        return _second;
    }
  
    void set second(String second) {
        this._second = second;
    }
}
void main() {
    A a = new A();
    a.first = 'x';
    a.second = 'y';
}

Více viz: Woolha.com > Dart using Access Modifiers a FlutterSolution > Understanding Access Modifiers in Dart.

Zkrácený zápis metod s návratovou hodnotou

class Osoba {
   String _name = "Karel";
 
   String get name => _name;
   set name(String name) => _name = name;
}

void main() {
  Osoba osoba = new Osoba();
  osoba.name = "Ivan";
  print(osoba.name);
}

Místo delšího:

//...
String get getName {
   return _name;
}
void set setName(String name) {
   _name = name;
}
//...

Style: konvence pojmenování

PascalCase (UpperCamelCase)
class Customer { ... }
lowercase_with_underscores

Cílem je zajistit kompatibilitu s různými souborovými systémy, které nemusí rozlišovat velká a malá písmena (case-insensitive).

camelCase (LowerCamelCase)
const defaultTimeout = 1000;

Více o konvencích zápisu kódu viz: Dart.dev → Style.

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje