Bài 2: Tìm hiểu về đối tượng trong lập trình (class)


1. Đối tượng là gì? 

Trong thế giới thực, đối tượng là những thực thể tồn tại có trạng thái và hành vi.
  • Ví dụ 1: con người (sinh viên Nguyễn Văn An, nhân viên Trần Thị Thảo), đồ vật (phòng học C41, máy in Laser Jet 4300), chứng từ (hóa đơn HD01, đơn đặt hàng DDH_14022008_01).
  • Ví dụ 2: Đối tượng là một chiếc xe hơi cụ thể với các thông tin về chiếc xe:

Biển số xe
Hiệu xe
Màu sơn
Hãng sản xuất
Năm sản xuất

Tiếp cận hướng đối tượng: Là kỹ thuật cho phép biểu diễn tự nhiên các đối tượng trong thực tế với bằng các đối tượng bên trong chương trình

Ví dụ: 

Class XeOTO  // mô tả đối tượng ô tô

{

string BienSoXe ="";     // Mô tả thuộc tính biển số xe của ô tô

string HieuXe = ""  ;     // Mô tả thuộc tính nhãn hiệu xe

//--------------------

// Phương thức tính khấu hao -> Mô tả công việc tính số năm khấu hao của xe là bao nhiêu năm

Int TinhThoiGianKhauHao(){

// Tính khấu hao 

}

}

 

2. Khái niệm về OOP, các tính chất cơ bản

2.1.  Class:

Một class là kiểu dữ liệu mô tả một loại đối tượng(objects) và mô tả của các đối tượng có chung các thuộc tính và hành động.

VD: 

public class Bike
{
       //your code goes here..
}

2.2. Phương thức (Method):

Phương thức là một hành vi của đối tượng. 

public class Bike
{
       //here is some properties of class Bike
       public string color;
       public string engine;
       public int mileage;

       //here is some behavior/methods of class Bike
       public string GetColor()
       {
               return "red";
       }
       public int GetMileage()
       {
               return 65;
       }
}

Ở ví dụ trên GetColor và GetMileage() là các phương thức được xem như là các hành vi của các đối tượng thuộc class Bike.

2.3. Thuộc tính

Thuộc tính là một biến có kiểu dữ liệu có thể mô tả được giá trị các đặc tính của đối tượng trong thực tế

Ví dụ, một “Bike” thường có các đặc tính quy định như màu sắc, động cơ, vận tốc…Trong

public class Bike
{
       //This is the class that contains all properties and behavior of an object
       //here is some properties of class Bike
       public string color;
       public string engine;
       public int mileage;
} 

 

1. Cách tổ chức file trong C#

  • SULUTION (Quản lý các project )
    • Project 1 
      • Folder 
        • File class
          • Thuộc tính
          • Phương thức
        • ..............................
      • .........................................
    • Project 2
      • Folder
        • File class
          • Thuộc tính
          • Phương thức
        • .....
      • ....................................
        • ...........................
    • .................................................

 

2. Tạo chương trình Hello World trong C#

using System;
namespace Csharp
{
    class TestCsharp
    {
        static void Main(string[] args)
        {
            /* chuong trinh in dong chu Hello World trong C# */
            Console.WriteLine("Hello World");
            Console.ReadKey();
        }
    }
}

Nhấn phím F5 để biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:

Chương trình Hello World trong C#

Giờ chúng ta xem xét các phần của chương trình trên:

  • Dòng đầu tiên using System;. Từ khóa using được sử dụng để bao System namespace trong chương trình. Nói chung, một chương trình có nhiều lệnh using.

  • Dòng tiếp theo có khai báo namespace. Một namespace là một tập hợp các lớp. HelloWorldApplication namespace chứa class HelloWorld.

  • Dòng tiếp theo có một khai báo classclass HelloWorld chứa các định nghĩa dữ liệu và phương thức mà chương trình của bạn sử dụng. Nói chung, class chứa nhiều phương thức. Các phương thức định nghĩa hành vi của class. Tuy nhiên, lớp HelloWorld chỉ có một phương thức Main.

  • Dòng tiếp theo định nghĩa phương thức Main, mà là entry point cho tất cả chương trình C#. Phương thức Main biểu diễn trạng thái lớp khi được thực thi.

  • Dòng tiếp theo /*…*/ bị bỏ qua bởi compiler và nó là comment cho chương trình.

  • Phương thức Main xác định hành vi của nó với lệnh Console.WriteLine("Hello World");

    WriteLine là một phương thức của lớp Console được định nghĩa trong System namespace. Lệnh này làm thông báo "Hello, World!" được hiển thị trên màn hình.

  • Dòng cuối cùng Console.ReadKey(); là cho VS.NET Users. Nó làm chương trình đợi cho một phím được nhấn và nó ngăn cản màn hình chạy và đóng một cách nhanh chóng khi chương trình được phát động từ Visual Studio.Net.