Lớp và đối tượng trong C#
Bởi vì C# là ngôn ngữ hướng đối tượng, nên chương trình được thiết kế là sử dụng lớp (class) và đối tượng (object)
Chúng ta sẽ cùng tìm hiểu lớp (class) và đối tượng (object) trong C# như thế nào nhé
1. Đối tượng
Đối tượng (object) là một thực thể trong thế giới thực, ví dụ như cái bàn, cây viết, điện thoại, chiếc xe hơi ....
Đối tượng (object) là một thực thể có trạng thái và hành vi. Ở đây, trạng thái có nghĩa là dữ liệu và hành vi có nghĩa là phương thức.
Bài viết này được đăng tại [free tuts .net]
Đối tượng (object) là một thực thể runtime, vì nó được tạo ra trong thời gian chương trình chạy. Đối tượng là một thể hiện của một lớp. Tất cả các thành viên của lớp có thể được truy cập thông qua đối tượng
Để tạo đối tượng chúng ta sử dụng từ khóa new
People p1 = new People();
Trong ví dụ trên, People là kiểu dữ liệu và p1 là biến tham chiếu đến thể hiện của lớp People. Từ khóa new được cấp phát bộ nhớ trong thời gian chạy (runtime).
2. Lớp
Trong C#, lớp (class) là một nhóm các đối tượng tương tự nhau. Nó là một khuôn mẫu mà từ đó các đối tượng được tạo ra. Nó có thể có các trường, phương thức, hàm xây dựng, hàm hủy...
Ví dụ sau có lớp con người có trạng thái là tên, tuổi, CMND và có hành vi là nói, viết.
public class People { string name; int old; string Id; private void speak() {}; private void write() {}; }
3. Ví dụ
using System; namespace ConsoleApp3 { public class People { public int id; public String name; public int old; public People(int id, String name, int old) { this.id = id; this.name = name; this.old = old; } public void Show() { Console.WriteLine("Id = " + id + ", Name = " + name + ", old = " + old); } } class Test { public static void Main(string[] args) { People p1 = new People(12, "Nguyen Van A", 20); People p2 = new People(18, "Nguyen Van B", 21); p1.Show(); p2.Show(); Console.ReadKey(); } } }
Và kết quả sau khi thực thi đoạn code trên:
Như vậy ở ví dụ trên chỉ có 1 hàm xây dựng có tham số. Vì vậy chúng ta chỉ có 1 cách duy nhất để tạo đối tượng là truyền vào đủ 3 tham số theo thứ tự kiểu dữ liệu là int, string, int. Những cách tạo đối tượng sau đây là không được phép:
- People p3 = new People(); // Vì chương trình không có hàm xây dựng mặc nhiên
- People p4 = new People(12, "Nguyen Van A"); //Vì chương trình không có hàm xây dựng có 2 tham số
- People p6 = new People("Nguyen Van A", 12, 20); //Vì kiểu dữ liệu của tham số truyền vào không khớp với kiểu dữ liệu khai báo
4. Lời kết
Như vậy qua bài học này chúng ta có cái nhìn tổng quát về đối tượng và lớp trong c# là gì rồi. Phần tiếp theo mình sẽ cùng tìm hiểu về hàm xây dựng và hàm hủy trong c#.
Cám ơn các bạn đã đọc bài viết.