Cỏc thành viờn (members) của một lớp cú thể là thành viờn tĩnh
(static member) hay thành viờn đối tượng (instance member). Núi
chung, thành viờn đối tượng thuộc về đối tượng, và thành viờn tĩnh
thuộc về lớp.
Khi một biến, phương thức, thuộc tớnh, chỉ mục, sự kiện, phộp toỏn, phương thức khởi tạo, phương thức hủy là thành viờn tĩnh, nú được khai bỏo với từ khúa static.
Thành viờn tĩnh khụng hoạt động trờn một đối tượng cụ thể.
Một thành viờn tĩnh chia sẻ chung cho mọi đối tượng thuộc lớp, và
được truy cập thụng qua tờn lớp chứa thành viờn.
Cỏc thành viờn đối tượng hoạt động trờn một đối tượng của lớp và được truy cập thụng qua tờn đối tượng.
Chỳng ta xột hai thành viờn thụng dụng của lớp là biến và
phương thức.
3.1.3.1. Truy xuất biến
Ngoài biến thành viờn của lớp gồm biến đối tượng và biến tĩnh,
cũn cú biến cục bộ được khai bỏo bờn trong phương thức.
Biến đối tượng (Instance variable): chỉ thuộc tớnh đối tượng, khi truy xuất phải khởi tạo đối tượng. Biến đối tượng được truy cập thụng qua tờn đối tượng.
Khai bỏo biến đối tượng: Kiểu BiếnĐốiTượng;
Truy cập biến đối tượng: TờnĐốiTượng.BiếnĐốiTượng
Vớ dụ:
NhanVien nv = new NhanVien(); System.Console.WriteLine(nv.hoTen);
Biến tĩnh (Static variable): về bản chất là biến toàn cục, là biến
tĩnh được tạo lập một lần cựng với lớp, dựng chung hay chia sẻ cho mọi đối tượng thuộc lớp, khi truy xuất khụng cần khởi tạo đối tượng,
để trao đổi thụng tin của cỏc đối tượng cựng lớp. Biến tĩnh được truy
cập thụng qua tờn lớp.
Khai bỏo biến tĩnh: static Kiểu BiếnTĩnh; Truy cập biến tĩnh: TờnLớp.BiếnTĩnh
Vớ dụ:
Biến cục bộ (Local variable): Được khai bỏo và tồn tại trong phạm vi phương thức. Biến cục bộ bắt buộc phải khởi tạo giỏ trị trước khi sử dụng.
Vớ dụ: Sử dụng biến tĩnh để đếm số đối tượng
using System; public class Bong {
private static int soBong = 0; public Bong()
{
soBong++; }
public static void SoBong() {
Console.WriteLine("{0} So bong bong ", soBong); }
}
public class Test {
static void Main() {
Bong.SoBong();
Bong bong1 = new Bong(); Bong.SoBong();
} }
3.1.3.2. Lời gọi phương thức (Method caller)
Phương thức cú thể là phương thức đối tượng hay phương thức
tĩnh. Để gọi phương thức, bạn gọi tờn phương thức và truyền vào danh
sỏch tham đối thật sự (actual parameters) tương ứng với số lượng, kiểu
và thứ tự cỏc tham đối trong danh sỏch tham đối hỡnh thức (formal
parameters). Khỏc nhau giữa lời gọi phương thức đối tượng và phương
thức tĩnh, đú là phương thức đối tượng được gọi thụng qua tờn đối tượng, cũn phương thức tĩnh được gọi thụng qua tờn lớp.
Phương thức đối tượng (Instance method): Thuộc về đối tượng
và hoạt động trờn một đối tượng cụ thể. Gọi phương thức đối tượng
như biến đối tượng.
TờnĐốiTượng.PhươngThứcĐốiTượng(DanhSỏchThamĐối) Phương thức tĩnh (Static method): Dựng chung cho mọi đối tượng thuộc lớp, khi truy xuất khụng cần khởi tạo đối tượng. Khai
bỏo phương thức tĩnh bổ sung từ khoỏ static. Gọi phương thức tĩnh: TờnLớp.PhươngThứcTĩnh(DanhSỏchThamĐối) Vớ dụ: using System; class NhanVien {
private string HoTen; //Biến đối tượng
private int NamSinh; private float HeSoLuong;
public static int LuongCB; //Biến tĩnh
public float Luong() //Phương thức đối tượng
{
float L = LuongCB * HeSoLuong; //Biến cục bộ
return L; }
}
class Test {
public static void Main(string args[]) {
NhanVien.LuongCB = 290; NhanVien A = new NhanVien(); Console.WriteLine(A.Luong()) ; }
}
Cỏc hằng, phương thức chuẩn toỏn học của lớp Math trong namespace System là hằng, phương thức tĩnh nờn khi gọi khụng cần
Hằng, Phương thức í nghĩa Kiểu giỏ trị trả về Math.E Số E Số thực Math.PI Số Pi Số thực Math.Abs(x) Trị tuyệt đối của số x x cú thể là số nguyờn hay thực Cựng kiểu với x Math.Tan(x) Tan x Số thực Math.Cos(x) Cos x x tớnh bằng radian Số thực Math.Sin(x) Sin x Số thực Math.Exp(x) ex Số thực Math.Log(b, a) Logab Số thực Math.Round(x, n) Làm trũn số nguyờn với n số lẻ Số nguyờn Math.Pow(x, y) Cho xy với x,y là số thực Số thực
Math.Sqrt(x) Khai căn của số x Số thực
Vớ dụ:double s = Math.pow(r,2) * Math.PI;