(unusal data type)
4.1) Kiểu dữ liệu cấu trúc:
+) Sử dụng cấu trúc thay cho các biến thông thường để tố chức và làm việc với nhóm các dữ liệu liên quan:
+) Nên cân nhắc tạo lớp thay cho tạo cấu trúc: Ví dụ:
package com.xuanduc987.example;
import java.util.*;
final class SoPhuc {
public float phanThuc, phanAo;
public static SoPhuc cong(SoPhuc a, SoPhuc b) { SoPhuc c = new SoPhuc();
a.phanThuc = a.phanThuc + b.phanThuc;
return c; }
}
public class Example8 {
public static void main(String[] args) { SoPhuc a = new SoPhuc();
SoPhuc b = new SoPhuc();
Scanner console = new Scanner(System.in); System.out.print("Nhap vao so phuc a: ");
a.phanThuc = console.nextFloat();
a.phanAo = console.nextFloat();
System.out.print("Nhap vao so phuc b: ");
b.phanThuc = console.nextFloat();
b.phanAo = console.nextFloat();
SoPhuc c = SoPhuc.cong(a, b);
System.out.println("Tong cua a va b: " + c.phanThuc + " + " +
c.phanAo
+ " i "); }
}
4.2)Dữ liệu toàn cục:
+) Nên sử dụng biến địa phương trừ khi tuyệt đối cần toàn cục:
- Đầu tiên nên sử dụng biến cục bộ trong từng method, nếu thấy
cần sử dụng chúng ở đâu đó khác, chuyển chúng thành biến private hay protected của lớp trước khi biến chúng trở thành biến toàn cục. Nếu cuối cùng bạn vẫn thấy cần dùng biến toàn cục thì mới dùng biến toàn cục.
+) Cần đặt tên biến theo code convention: +) Tất cả biến toàn cục cần được chú thích:
+) Cần loại bỏ hết những biến toàn cục không cần thiết chuyển về biến địa phương:
+) Sử dụng biến toàn cục thông qua các method truy cập:
- Tất cả những việc cần làm với biến địa phương, ta đều có thể
làm tốt hơn thong qua sử dụng các method để truy cập.
- Lợi ích của việc sử dụng các method này:
• Kiểm soát dữ liệu một cách tập trung. Nếu bạn tìm thấy một
cách khác sử dụng biến toàn cục hiệu quả hơn, bạn không cần phải sửa lại mọi chỗ mà biến toàn cục được tham chiếu tới
• Có thể kiểm soát được lỗi
• Việc thay đổi trong các method truy cập này không làm ảnh
hưởng đến chương trình chính
+) Các method và dữ liệu nên được tổ chức thành một class:
+) Các method truy cập đến biến toàn cục cần ở cùng một mức trừu tượng:
Ví dụ:
package com.xuanduc987.example;
import java.util.*;
final class Global {
private static int global = 0;
public static int get() {
return global; }
public static void set(int value) {
global = value;
}
public class Example9 {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.println("Nhap gia tri vao bien toan cuc: "); Global.set(console.nextInt());
System.out.println("gia tri bien toan cuc la: " + Global.get());
}