Dardo – Propiedades Privadas

Una propiedad es una variable de campo declarada dentro de una clase. Hay tres tipos de propiedades en Dart:

  • Propiedad de solo lectura: solo puede leer estos valores, no se da acceso para modificarlos
  • Propiedad de solo escritura : se pueden establecer nuevos valores, pero no permitir el acceso a sus valores.
  • Propiedad de solo lectura/escritura : se permite el acceso completo para leer y modificar estos valores.

En este artículo, entenderemos qué son las propiedades privadas.

Las propiedades privadas son aquellas propiedades a las que solo se puede acceder dentro del archivo en el que están definidas o la clase en la que están declaradas. Dart proporcionó privacidad a nivel de biblioteca en lugar de a nivel de clase debido a que no se utilizan palabras clave como público, privado y protegido, a diferencia de la mayoría de los idiomas. Los identificadores que comienzan con un guión bajo «_» son visibles dentro de la biblioteca de dardos. Por lo tanto, todas las propiedades privadas dentro de dart se declaran con un guión bajo al comienzo de su nombre. Por ejemplo, se crea una clase con el nombre Fruit que contiene una propiedad privada _hidden y un método FruitRun(). El archivo se llama “ex.dart”

class Fruit {
  String _hidden = "";

  FruitRun() {
    print('String value: $_hidden');
    _hidden = "Mango";
    print('String value: $_hidden');
  }
}

En otro archivo con el método principal definido, para importar la clase anterior dentro del archivo, use la extensión .dart con el nombre del archivo agregado anteriormente, es decir, «nombre_archivo.dart».

import 'ex.dart';

void main() {
  var b = new Mango();
  b.testB();
}

class Mango extends Fruit {
  late String _hidden;

  testB() {
    _hidden = 'Heya';
    print('String value: $_hidden');
    FruitRun();
    print('String value: $_hidden');
  }
}

Hay algunos puntos especiales a tener en cuenta al trabajar con dart:

  • Hacer que una clase sea privada nunca haría que sus miembros fueran privados. 
  • Crear una clase no hace que sus instancias sean inaccesibles.
  • En caso de que un campo esté oculto para el usuario y no se esté usando abiertamente, es preferible convertirlo en una propiedad privada.

Implementación

Dart

class Code {
  String web_name = "GeeksforGeeks";
  int _hidden_id = 0;
  int platform_id = 1;
}
  
void main() { 
  Code name = Code();
  print(name.web_name);    // web_name ----> GeeksforGeeks
  print(name._hidden_id);  // Hidden Id ---> 0
  print(name.platform_id); // Platform Id ---> 1   
}

Salida :

Output

 

Publicación traducida automáticamente

Artículo escrito por rharshitaaa21 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *