Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Quản lý lớp (New Class) trong Object C

    I. Thông tin chung:
    - Các đối tượng là không thể thiếu trong lập trình hướng đối tượng hiện nay (OOP Object Oriented Programming). Đối tượng không chỉ giúp chúng ta quản lý những gì đang sử dụng trong chương trình một cách dễ dàng hơn mà còn có thể giảm lượng mã nguồn xuống cũng như tái sử dụng nó trong các chương trình khác.

    II. Nội dung chính:
    1. Tạo một lớp mới (New Class):
    Những điểm cần lưu ý:
    - Một biến toàn cục (static) có thể được truy cập từ bất tứ lớp nào
    - Bạn có thể thể tạo một phương thức khởi tạo mới dành cho lớp và thêm những đoạn mã cần thiết vào để làm những gì bạn muốn mà không ảnh hưởng đến khả năng làm việc của lớp

    * Sau đây là đoạn code mẫu dành cho việc tạo một lớp mới có thêm một số đoạn mã để xử lý trước khi khởi tạo lớp.

    2. Phần giao diện (File .h):
    - Một lớp cần có những thứ sau đây

    Mã:
    #import <Foundation/Foundation.h>
    
        @interface LKStar: NSObject
    
        {
    
        }
    
        + (LKStar *) lkAlloc;
    
        + (int) lkTotal;
    
        @end
    * Giải thích:
    - Mọi lớp đều cần có kế thừa lớp NSObject trong C Object
    - Trong lớp header sẽ có 2 phương thức toàn cục để khởi tạo và trả về số lượng các lớp đã được khởi tạo.
    - Đây không phải là phương thức cục bộ (private) mà là phương thức toàn cục (public) để các class khác vẫn có thể truy cập vào trong lớp.

    3. Phần thực hiện (file .m):

    Mã:
    #import “LKStar.h”
    
        static int lkNumOfStar = 0;
    
        @implementation LKStar
    
        + (LKStar *) lkAlloc
    
        {
    
        lkNumOfStar++;
    
        return [LKStar alloc];
    
        }
    
        + (int) lkTotal
    
        {
    
        return lkNumOfStar ;
    
        }
    
        @end
    * Giải thích:
    - Tạo biến toàn cục lkNumOfStar để lưu trữ số lượng những đối tượng ở trong toàn chương trình.
    - lkAlloc là phương thức khởi tạo. Phương thức sẽ cộng vào trong biến đếm trước khi khởi tạo đối tượng.
    - lkTotal trả về số lượng đối tượng đã được khởi tạo

    4. Cách sử dụng trong chương trình:

    Mã:
     LKStar *lkRedStar, *lkBlueStar, *lkYellowStar;
    
        lkRedStar = [[LKStar lkAlloc] init];
    
        lkBlueStar = [[LKStar lkAlloc] init];
    
        lkYellowStar = [[LKStar lkAlloc] init];
    Ngoài ra, ta có thể sử dụng lệnh để biết được có bao nhiêu đối tượng đã được tạo bằng cách gọi dòng lệnh sau

    Mã:
    int lkCounting = [LKStar lkNumOfStar];
    => Chúng ta sẽ có đươc lkCounting = 3;

    Đây là code đầy đủ cho các bạn kiểm tra

    Mã:
    #include “LKStar.h”
    
        int main (int argc, const char * argv[])
    
        {
    
        LKStar *lkRedStar, *lkBlueStar, *lkYellowStar;
    
        lkRedStar = [[LKStar lkAlloc] init];
    
        lkBlueStar = [[LKStar lkAlloc] init];
    
        lkYellowStar = [[LKStar lkAlloc] init];
    
        int lkCounting = [LKStar lkNumOfStar];
    
        NSString *thongbao = [[NSString alloc] initWithFormat:@”Number of Star in Program: %i”, lkCounting];
    
        lbllkThongBao.text = thongbao;
    
        }
    III. Kết luận:
    - Đối tượng là phần không thể thiếu đối với lập trình OOP. Tuy nhiên không phải lúc nào bạn cũng chỉ dùng những lệnh cơ bản của Object C (Alloc) mà cần thêm những lệnh mới để có thể làm cho việc sử dụng những đối tượng được quản lý chặt chẽ hơn.
    - Đây là phần nên nghiên cứu và sử dụng để dễ dàng hơn cho việc lập trình với Object C.

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bài này chắc nói về cách sử dụng biến static trong Objective-C.!

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Biến static thường dùng trong 1 class duy nhất để chứa tất cả các biến để sử dụng chung thoi.
    Bài này, cái biến static chỉ dùng như một biến đếm cho những Object đã tạo thấy cũng đâu phải là chức năng chính của nó?

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •