Thành phần dữ liệu tĩnh

Một phần của tài liệu Lập trình hướng đối tượng với C docx (Trang 65 - 67)

Sử dụng các thuộc tính tĩnh

Như ta đã biết khi nói tới một thành phần dữ liệu thì ta phải nghĩ ngay đến nó gắn với một đối tượng cụ thể nào đó. Trong qua trình lập trình ta muốn có những thành phần dữ liệu không thuộc bất kỳ đối tượng nào. Để có được điều đó thì thành phần dữ liệu đó phải là tĩnh bằng cách đặt từ khóa static trước tên thành phần dữ liệu đó. Như vậy một thành phần dữ liệu tĩnh thì nó được cấp phát một vùng nhớ cố định và nó không phải là riêng của một đối tượng nào.

Để truy nhập tới một thành phần dữ liệu tĩnh ta dùng tên lớp và không được truy nhập thông qua tên một đối tượng. Chính vì vậy các thành phần dữ liệu tĩnh chỉ được sử dụng trong các phương thức tĩnh.

Ví dụ 2.5b: Nhập vào một danh sách cán bộ và cho biết tổng lương của các cán bộ vừa nhập

using System; public class Canbo {

string hoten; double luong;

public static double tl=0; public void nhap() {

Console.Write("Ho ten:"); hoten = Console.ReadLine();

Console.Write("Luong:"); luong = Convert.ToDouble(Console.ReadLine()); tl = tl + luong;

}

public void hien(int i) {

Console.WriteLine("{0}\t{1}\t{2}", i, hoten, luong); }

}

public class DsCanBo {

int n; Canbo[] ds; public void nhap() {

Console.Write("Nhap so can bo:"); n = Convert.ToInt16(Console.ReadLine()); ds=new Canbo[n];

for (int i = 0; i < n; ++i) ds[i] = new Canbo();

Console.WriteLine("Nhap thong tin cho cac can bo"); for (int i = 0; i < n; ++i) ds[i].nhap();

}

public void hien() {

for (int i = 0; i < n; ++i) ds[i].hien(i + 1); }

}

public class Tester {

static void Main() {

DsCanBo c = new DsCanBo(); c.nhap();

Console.WriteLine("\t\t\tDanh sach cac can bo la\n"); Console.WriteLine("STT\tHo va ten\tLuong"); c.hien();

Console.WriteLine("Tong luong cua cac can bo la:{0}", Canbo.tl); }

}

Một phần của tài liệu Lập trình hướng đối tượng với C docx (Trang 65 - 67)

Tải bản đầy đủ (PDF)

(142 trang)