Trang chủ Lập trình Flutter Flutter | Lập trình Dart

Flutter | Lập trình Dart

797
0

Bài viết này mình sẽ giới thiệu về lập trình Dart

Lập trình Dart

Dart là một ngôn ngữ lập trình hướng đối tượng mã nguồn mở, mục đích chung, với cú pháp C-style do Google phát triển vào năm 2011. Mục đích của lập trình Dart là tạo giao diện người dùng frontend cho web và ứng dụng di động. Nó đang được phát triển tích cực, được biên dịch sang mã máy gốc để xây dựng ứng dụng di động, lấy cảm hứng từ các ngôn ngữ lập trình khác như Java, JavaScript, C # và được gõ mạnh. Vì Dart là một ngôn ngữ biên dịch nên bạn không thể thực thi mã của mình trực tiếp; thay vào đó, trình biên dịch phân tích cú pháp nó và chuyển nó thành mã máy.

Nó hỗ trợ hầu hết các khái niệm chung của ngôn ngữ lập trình như lớp, giao diện, hàm, không giống như các ngôn ngữ lập trình khác. Ngôn ngữ Dart không hỗ trợ mảng trực tiếp. Nó hỗ trợ bộ sưu tập, được sử dụng để sao chép cấu trúc dữ liệu như mảng, generic và kiểu gõ tùy chọn.

Ví dụ sau đây cho thấy lập trình Dart đơn giản.

void main() {  

  for (int i = 0; i < 5; i++) {  

    print('hello ${i + 1}');  

  }  

}

Loại dữ liệu

Dart là một ngôn ngữ lập trình được đánh máy mạnh. Nó có nghĩa là, mỗi giá trị bạn sử dụng trong ngôn ngữ lập trình của mình có một kiểu là chuỗi hoặc số và phải được biết khi mã được biên dịch. Ở đây, chúng ta sẽ thảo luận về các kiểu dữ liệu cơ bản phổ biến nhất được sử dụng trong ngôn ngữ lập trình Dart.

Kiểu dữ liệuVí dụMô tả
StringString myName = ‘javatpoint’;Nó chứa văn bản. Trong phần này, bạn có thể sử dụng dấu ngoặc kép đơn hoặc kép. Khi bạn quyết định dấu ngoặc kép, bạn phải nhất quán với lựa chọn của mình.
num, int, doubleint age = 25;
double price = 125.50;
Kiểu dữ liệu num là viết tắt của một số. Phi tiêu có hai loại số: Số nguyên (Là một số không có chữ số thập phân.) Double (Nó là một số có chữ số thập phân.)
Booleanbool var_name = true;
Or
bool var_name = false;
Nó sử dụng từ khóa bool để biểu thị giá trị Boolean true và false.
objectPerson = Person()Nói chung, mọi thứ trong Dart là một đối tượng (ví dụ: Số nguyên, Chuỗi). Nhưng một đối tượng cũng có thể phức tạp hơn.

Các biến và hàm

Các biến là không gian tên trong bộ nhớ lưu trữ các giá trị. Tên của một biến được gọi là số nhận dạng. Chúng là nơi chứa dữ liệu, có thể lưu trữ giá trị của bất kỳ kiểu nào. Ví dụ: var myAge = 50;  

Ở đây, myAge là một biến lưu trữ giá trị số nguyên 50. Chúng ta cũng có thể cho nó là int và double. Tuy nhiên, Dart có một tính năng Type Inference, suy luận các loại giá trị. Vì vậy, nếu bạn tạo một biến với từ khóa var, Dart có thể suy ra biến đó là kiểu số nguyên. Bên cạnh biến, Hàm là một tính năng cốt lõi khác của bất kỳ ngôn ngữ lập trình nào. Hàm là một tập hợp các câu lệnh thực hiện một nhiệm vụ cụ thể. Chúng được tổ chức thành các khối mã logic có thể đọc được, có thể bảo trì và có thể tái sử dụng. Khai báo hàm chứa tên hàm, kiểu trả về và các tham số. Ví dụ sau giải thích hàm được sử dụng trong lập trình Dart.

//Function declaration  

num addNumbers(num a, num b) {  

    // Here, we use num as a type because it should work with int and double both.  

    return a + b;  

}  

var price1 = 29.99;  

var price2 = 20.81;  

var total = addNumbers(price1, price2);  

var num1 = 10;  

var num2 = 45;  

var total2 = addNumbers(num1, num2);

Các nhà khai thác Ngôn ngữ Dart hỗ trợ tất cả các toán tử, vì bạn đã quen thuộc với các ngôn ngữ lập trình khác như C, Kotlin và Swift. Tên của nhà điều hành được liệt kê dưới đây:

Arithmetic

Equality

Increment and Decrement

Logical

Comparison

Ra quyết định và các vòng lặp

Ra quyết định là một tính năng cho phép bạn đánh giá một điều kiện trước khi các hướng dẫn được thực thi. Ngôn ngữ Dart hỗ trợ các loại câu lệnh ra quyết định sau:

Câu lệnh if

Câu lệnh if-else

Chuyển đổi câu lệnh

Sơ đồ dưới đây giải thích rõ ràng hơn.

Ví dụ:

void main() {   

   var num = 12;   

   if (num % 2 = = 0) {   

      print("Number is Even.");   

   } else {   

      print("Number is Odd.");   

   }   

}

Các vòng lặp được sử dụng để thực thi một khối mã lặp đi lặp lại cho đến khi một điều kiện được chỉ định trở thành đúng. Ngôn ngữ Dart hỗ trợ các loại câu lệnh lặp sau:

for

for..in

while

do..while

Sơ đồ dưới đây giải thích rõ ràng hơn.

Ví dụ:

void main() {   

   var name = ["Peter", "Rinky Ponting", "Abhishek"];   

   for (var prop in name) {   

      print(prop);   

   }   

}

Comment 

Commet là những dòng mã không thực thi được. Chúng là một trong những khía cạnh chính của tất cả các ngôn ngữ lập trình. Mục đích của việc này là cung cấp thông tin về dự án, biến hoặc một hoạt động. Có ba loại nhận xét trong lập trình Dart:

Thực hiện các nhận xét định dạng: Đó là một nhận xét dòng đơn (//)

Chặn nhận xét: Đó là một nhận xét nhiều dòng (/*…*/)

Nhận xét về Tài liệu: Đây là nhận xét tài liệu được sử dụng cho thành viên và các loại (///)

Continue and Break

Dart cũng đã sử dụng từ khóa tiếp tục và ngắt trong vòng lặp, và ở những nơi khác nó được yêu cầu. Câu lệnh continue cho phép bạn bỏ qua đoạn mã còn lại bên trong vòng lặp và ngay lập tức chuyển đến bước lặp tiếp theo của vòng lặp. Chúng ta có thể hiểu nó từ ví dụ sau.

Ví dụ:

void main() {   

  for(int i=1;i<=10;i++){    

    if(i==5){    

      print("Hello");  

      continue; //it will skip the rest statement        

    }    

    print(i);    

  }   

}

Câu lệnh break cho phép bạn kết thúc hoặc dừng dòng hiện tại của một chương trình và tiếp tục thực hiện sau phần thân của vòng lặp. Ví dụ sau đây sẽ giải thích chi tiết.

Ví dụ:

void main() {   

  for(int i=1;i<=10;i++){    

    if(i==5){    

      print("Hello");  

      break;//it will terminate the rest statement        

    }    

    print(i);    

  }   

}

Từ khóa Final và Const

Chúng ta có thể sử dụng một từ khóa cuối cùng để hạn chế người dùng. Nó có thể được áp dụng trong nhiều ngữ cảnh, chẳng hạn như biến, lớp và phương thức. Từ khóa Const dùng để khai báo hằng. Chúng ta không thể thay đổi giá trị của từ khóa const sau khi gán nó.

Ví dụ:

void main() {   

  final a = 100;  

  const pi = 3.14;  

  print(a);  

  print(pi);  

}

Lập trình hướng đối tượng

Dart là một ngôn ngữ lập trình hướng đối tượng, có nghĩa là mọi giá trị trong Dart đều là một đối tượng. Một số cũng là một đối tượng trong ngôn ngữ Dart. Lập trình Dart hỗ trợ khái niệm về các tính năng OOP như đối tượng, lớp, giao diện, v.v.

Đối tượng: Đối tượng là một thực thể, có trạng thái và hành vi. Nó có thể là vật lý hoặc logic. Trong Dart, mọi giá trị đều là một đối tượng, ngay cả những giá trị nguyên thủy như văn bản và số. Dart cũng có thể cho phép bạn xây dựng đối tượng tùy chỉnh của mình để thể hiện các mối quan hệ phức tạp hơn giữa dữ liệu.

Lớp: Một lớp là một tập hợp các đối tượng. Nó có nghĩa là các đối tượng được tạo ra với sự trợ giúp của các lớp vì mọi đối tượng đều cần một bản thiết kế dựa trên đó bạn có thể tạo một đối tượng riêng lẻ. Một định nghĩa lớp bao gồm những điều sau:

Fields

Methods

Constructor

Getters and setters

Chúng ta xem một ví dụ để hiểu khái niệm OOP một cách dễ dàng.

class Mobile {  

  // Property Declaration  

  String color, brandName, modelName;  

  // Method Creation  

  String calling() {  

    return "Mobile can do call to everyone.";  

  }  

  String musicPlay() {  

    return "Mobile can play all types of Music.";  

  }  

  String clickPicture() {  

    return "Mobile can take pictures.";  

  }  

}  

void main() {  

  // Object Creation  

  var myMob = new Mobile();   

  // Accessing Class's Property  

  myMob.color = "Black";   

  myMob.brandName = "Apple Inc.";  

  myMob.modelName = "iPhone 11 Pro";  

  //Display Output  

  print(myMob.color);  

  print(myMob.modelName);  

  print(myMob.brandName);  

  print(myMob.calling());  

  print(myMob.musicPlay());  

  print(myMob.clickPicture());  

}

Trong ví dụ trên, chúng ta định nghĩa một lớp Mobile, có ba biến kiểu chuỗi và ba hàm hoặc phương thức. Sau đó, chúng ta tạo một chức năng chính mà Dart sẽ thực thi đầu tiên khi ứng dụng của bạn khởi động. Bên trong main, chúng ta tạo một đối tượng để truy cập các thuộc tính của lớp. Cuối cùng, chúng ta in đầu ra.

Cuối vùng

Cám ơn bạn đã theo dõi bài viết ngôn ngữ lập trình Dart, ngoài ra các bạn có thể xem thêm các nội dung khác trong chuyên mục lập trình Flutter được chia sẻ bởi Nguyễn Hưng.

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.