You are on page 1of 6

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

Object (đối tượng) nghĩa là một thực thể trong thế giới thực, chẳng hạn như bàn, quả bóng, con
bò, … Lập trình hướng đối tượng là một phương pháp để thiết kế một chương trình bởi sử dụng
các lớp và các đối tượng. Nó làm đơn giản hóa việc duy trì và phát triển phần mềm bằng việc
cung cấp một số khái niệm:

 Đối tượng: Một thực thể có trạng thái và hành vi. Ví dụ như xe đạp, bàn, ghế, … Nó có thể
mang tính vật lý hoặc logic.
 Lớp: Một tập hợp các đối tượng. Nó là một thực thể logic.
 Tính kế thừa: Khi một đối tượng đạt được các thuộc tính và các hành vi của đối tượng cha, thì
đó là tính kế thừa. Điều này làm tăng tính tái sử dụng cho code. Nó được sử dụng để đạt được
tính đa hình tại runtime.
 Tính đa hình: Khi một tác vụ được thực hiện theo nhiều cách khác nhau được gọi là tính đa
hình. Ví dụ: như vẽ hình chữ nhật hoặc hình tam giác, … Trong C#, chúng ta sử dụng nạp chồng
phương thức (method overloading) và ghi đè phương thức (method overriding) để có tính đa
hình. Một ví dụ khác: con mèo kêu meooo, còn chú chó thì sủa goooo.
 Tính đóng gói: Đó là gắn kết code và dữ liệu cùng với nhau vào trong một đơn vị unit đơn. Ví
dụ: có thể bạn đã biết đến viên thuốc con nhộng (hay đơn giản hơn là gói bột giặt), các viên
thuốc (hạt bột giặt) khác nhau được đóng gói.

Bài tập Hướng đối tượng trong C#

Trong phần này mình chỉ đưa ra một ví dụ chi tiết minh họa giúp bạn cách tạo project, tạo
Class, tạo đối tượng, tính kế thừa trong C#. Còn với các khái niệm khác, bạn có thể click chuột
vào các đường link ở trên để tìm hiểu.

Đầu tiên tạo một project mới. Sau đó, tạo 3 class: Person, Teacher, Student, trong đó hai
lớp Teacher và Student kế thừa lớp Person.

Bạn có thể tùy ý tạo các thuộc tính và các phương thức cho các lớp này. Chẳng hạn:
lớp Person có phương thức setAge(int age), lớp Student có phương thức GoToClass() để in ra
thông báo I'm going to class., ...

Bài tập C# này minh họa giúp bạn cách tạo một class, cách tạo một đối tượng, tính kế thừa trong
C#.

Trang 1 / 6
Lập trình hướng đối tượng

Chương trình C#

Dưới đây là chương trình C# minh họa lời giải cho bài tập hướng đối tượng trong C#. Bạn nên
tạo mỗi class trong một file riêng rẽ, rồi sau đó tạo một class chung có chứa phương
thức main() để thao tác với các lớp này:

Lớp Person:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LTHDT
{
class Person
{
protected int age;
public void LoiChao()
{
Console.WriteLine("Hello LTHDT!!!");
}
public void SetAge(int n)
{
age = n;
}
}
}

Lớp Student: Sử dụng dấu hai chấm (:) để nói rằng lớp Student đang kế thừa lớp Person.

using System;

Trang 2 / 6
Lập trình hướng đối tượng

using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LTHDT
{
class Student : Person
{
public void ThongBaoTuoi()
{
Console.WriteLine("Tuoi cua ban la: {0} tuoi", age);
}
}
}

Lớp Teacher: Sử dụng dấu hai chấm (:) để nói rằng lớp Teacher đang kế thừa lớp Person.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LTHDT
{
class Teacher : Person
{
private string mon_hoc;
public void GiangDay()
{
Console.WriteLine("Bat dau giang day!!!");

Trang 3 / 6
Lập trình hướng đối tượng

}
}
}

Cuối cùng, bạn tạo một lớp có tên là StudentAndTeacherTest: Đây là lớp chứa phương
thức main() và là lớp nơi chúng ta làm việc chính.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LTHDT
{
class StudentAndTeacherTest
{
static void Main()
{
bool debug = false;

Console.WriteLine("\nLap trinh huong doi tuong trong C#");


Console.WriteLine("----------------------------------\n");
//tao doi tuong Person va goi phuong thuc Greet()
Person myPerson = new Person(); //day la constructor mac dinh
myPerson.LoiChao();

/*tao mot doi tuong Student, thiet lap tuoi cho sinh vien nay la 21,
gui loi chao toi anh ta va thong bao tuoi*/
Student myStudent = new Student(); //day la constructor mac dinh
myStudent.SetAge(21);

Trang 4 / 6
Lập trình hướng đối tượng

myStudent.LoiChao();
myStudent.ThongBaoTuoi();

/*tao mot doi tuong Teacher, thiet lap tuoi cho giang vien nay la 30,
*de nghi anh ta chao va bat dau giang day*/
Teacher myTeacher = new Teacher(); //day la constructor mac dinh
myTeacher.SetAge(30);
myTeacher.LoiChao();
myTeacher.GiangDay();

if (debug)
Console.ReadLine();

Console.ReadKey();
}
}
}

Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn
(nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một
cách rõ ràng hơn.

Sau khi tạo xong mọi thứ, cấu trúc project của chúng ta sẽ có dạng sau:

Trang 5 / 6
Lập trình hướng đối tượng

Kết quả chương trình C#

Trang 6 / 6

You might also like