Dart sınıfı için nasıl bir ad alanı oluşturursunuz? Bir C# arka planından geliyorum, sadece bir tane namespace SampleNamespace { }
kullanıyor.Dart sınıfını nasıl adlandırırsınız?
Dart'ta da aynısını nasıl başarırsınız?
Dart sınıfı için nasıl bir ad alanı oluşturursunuz? Bir C# arka planından geliyorum, sadece bir tane namespace SampleNamespace { }
kullanıyor.Dart sınıfını nasıl adlandırırsınız?
Dart'ta da aynısını nasıl başarırsınız?
Dart ad alanı kavramına sahip değil, bunun yerine kitaplıklara sahip. Bir kitaplığın bir ad alanına eşdeğer olması için bir kütüphane olabileceğini düşünebilirsiniz, böylece bir kitaplık birden çok dosyadan oluşturulabilir ve birden çok sınıf ve işlev içerebilir.
Dart'taki gizlilik de sınıf seviyesinden ziyade kütüphanede (altyazıyla öntanımlı bir şey bu kütüphaneye özeldir).
kütüphane bir kamu örneğini kullanarak (kütüphane tanımlayan bir örnek: Parça dosyaları yalnızca düzenlemenize yardımcı olmak için kullanılmaktadır
// utilities.dart
library utilities; // being the first statement in the library file
Sen part
anahtar sözcüğünü kullanarak aynı kütüphanenin diğer dosyaları bölümünü yapabilirsiniz. kodunuzu, tüm sınıflarınızı tek bir kütüphane dosyasına yerleştirebilir veya birkaç parça dosyası (veya parça dosyaları ve kütüphane dosyası) arasında bölebilirsiniz - yürütme üzerinde hiçbir etkisi yoktur.Ana kütüphane dosyasını yerleştirmek için stilistiktir. Bir üst klasör ve bölüm dosyaları bir src/
klasöründe.
Örnekleri genişletme Bölüm dosyalarını göstermek için e.
// utilities.dart
library utilities;
part "src/string_utils.dart";
part "src/date_utils.dart";
olanlar bölümlü dosya
sonrapart of
deyimini kullanarak, parçası oldukları kitaplığına geri bağlantı: Artık bir işlevi içeren bir kütüphane olduğunu
// src/string_utils.dart
part of utilities;
// functions and classes
String reverseString(s) => // implementation ....
String _stringBuilder(strings) => // a private (to the library) function,
// indicated by the leading underscore
//... snip other classes and functions
, o kütüphaneden yararlanabilir başka yerde import
tarafından kütüphane ing:
// my_app.dart;
import "path/to/library/utilities.dart";
main() {
var reversed = reverseString("Foo");
// _stringBulider(["a","b"]); // won't work - this function is
// only visible inside the library
}
Eğer iki kitaplıkları içe barındırmadığını (çatışmaları önlemek için kütüphane diğer ad istiyorsanız, hem reverseString()
fonksiyonu içeren, sen as
anahtar kelime kullanın:
// my_app.dart;
import "path/to/library/utilities.dart";
import "some/other/utilities.dart" as your_utils;
main() {
var reversed = reverseString("Foo");
var your_reversed_string = your_utils.reverseString("Bar");
}
ithalat beyanı da paketlerin kullanımı pub tarafından ithal olarak yapar, Dart'ın paket yöneticisi, aynı zamanda github kütüphanenizi barındırabilir böylece veya başka bir yerde, ve böylece kütüphanenizi referans:
// my_app.dart;
import "package:utilities/utilities.dart";
main() {
var reversed = reverseString("Foo");
}
pub bağımlılık kütüphanesini bulmak için nereye pub anlatıyor bir pubspec.yaml
dosyasında tanımlanır.
import
açıklamaları içerir: Sen sadece kitaplık dosyası can not etmek önemlidir pub.dartlang.org adresinden daha fazla bilgi bulabilirsiniz. Parça dosyaları olamaz.
library
anahtar sözcüğünü içerir. Parça dosyaları olamaz.part
dosyalarını içerir. Parça dosyaları olamaz.Son bir nokta olan bir çalıştırılabilir uygulama dosyası can (ve olması muhtemeldir) bir kitaplık dosyası ve ayrıca not edilmelidir
// my_app.dart;
library my_app;
import "package:utilities/utilities.dart";
part "src/edit_ui.dart";
part "src/list_ui.dart";
part "src/foo.dart";
main() {
var reversed = reverseString("Foo");
showEditUi(); // perhaps defined in edit_ui.dart....?
}
parça dosyalarının yapılabilir o 'kısmını kullanarak Yönerge önerilmez. * "Not: Bir kitaplığı birden fazla Dart dosyasına bölmenize izin veren bölüm yönergesini duymuş olabilirsiniz. Parça kullanmamanızı ve bunun yerine mini kitaplıklar oluşturmanızı öneririz." * - https: //www.dartlang. org/kılavuzlar/kütüphaneler oluşturmak/kitaplığı-paketleri – Subfuzion