Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:dart:objektum_orientalt_programozas

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
Következő változat
Előző változat
oktatas:web:dart:objektum_orientalt_programozas [2023/06/24 12:28] – [Egyszerűsítés] adminoktatas:web:dart:objektum_orientalt_programozas [2023/06/24 12:56] (aktuális) – [Konstans konstruktor] admin
Sor 85: Sor 85:
     return Employee(name);     return Employee(name);
   }     }  
 +}
 +</code>
 +
 +
 +Két paraméterrel:
 +
 +<code dart main.dart>
 +void main() {
 +  var eros = new Employee.fromJson({
 +    'name': 'Erős István',
 +    'city': 'Szeged'
 +    });
 +  print('${eros.name} ${eros.city}');
 +}
 +
 +class Employee {
 +  String name;
 +  String city;
 +  
 +  Employee(this.name, this.city);
 +
 +  factory Employee.fromJson(Map<String, dynamic> json) {
 +    String name = json['name'];
 +    String city = json['city'];
 +    return Employee(name, city);
 +  }  
 +}
 +</code>
 +
 +
 +==== Konstans konstruktor ====
 +
 +Ha azonos paraméterrel hozok létre konstansként két objektumot, azok egyetlen memóriaterületen, egyetlen objektumként jelennek meg:
 +
 +<code dart main.dart>
 +void main() {
 +  var eros = const Employee('Erős István', 'Szeged');
 +  var deli = const Employee('Erős István', 'Szeged');
 +  
 +  print(identical(eros, deli));
 +  print(eros == deli);
 +
 +}
 +
 +class Employee {
 +  final String name;
 +  final String city;  
 +  const Employee(this.name, this.city);
 +}
 +</code>
 +
 +Ha például a Szeged helyett mást írok a két objektum különböző lesz.
 +
 +
 +Ha nem konstansként hívom, különböző objektumokat kapok:
 +
 +<code dart main.dart>
 +void main() {
 +  var eros = Employee('Erős István', 'Szeged');
 +  var deli = Employee('Erős István', 'Szeged');
 +  
 +  print(identical(eros, deli));
 +  print(eros == deli);
 +
 +}
 +
 +class Employee {
 +  final String name;
 +  final String city;  
 +  const Employee(this.name, this.city);
 } }
 </code> </code>
  
oktatas/web/dart/objektum_orientalt_programozas.1687602492.txt.gz · Utolsó módosítás: 2023/06/24 12:28 szerkesztette: admin