Phần 4: “Tự sướng A2Z” với một chương trình Objective-C hoàn thiện | Lập Trình TV

ICTSharing

Chào mừng bạn đến với bài học thứ 4 của loạt bài về Objective-C. Qua 3 bài học, chắc hẳn các bạn đã có những khái niệm cơ bản nhất về OOP trong Objective-C. Tiếp tục trong bài này, chúng tôi sẽ hướng dẫn các bạn xây dựng một chương trình hoàn thiện dựa trên những đối tượng bạn đã sử dụng ở bài học thứ 2.

Bắt đầu

Chúng ta sẽ bắt đầu với Xcode và tạo ra một project mới thông qua các các bước File> New Project> Mac OS X> Application> Command Line Tool, tiếp tục đặt tên project là “TestCar” và chọn Type: Foundation.

Cuối cùng bạn nhấn vào nút Create để lưu project “TestCar” vào một chỗ cố định trong ổ cứng của bạn. Khi cửa sổ project xuất hiện bên tay trái, chúng ta sẽ cần phải tạo một lớp mới. Để làm được điều ày, bạn cần phải ấn tổ hợp phím Command-N (hoặc vào File> New File), sau đó chọn MacOS X> Cocoa> Objective-C class. Chúng ta sẽ đặt tên cho Class là “Car” và để mặc định tùy chọn Subclass of là NSObject (có nghĩa là lớp Car ta tạo ra sẽ là lớp con của NSObject). Cuối cùng nhấn button Create để lưu class Car vào thư mục của project TestCar.

Lớp Car bây giờ đã tạo ra nhưng nó không làm gì cả. Chúng ta sẽ thêm nội dung cho lớp Car. Tuy nhiên hãy ghi nhớ ở bài 2 chúng tôi đã có nói, Objective-C phân chia riêng biệt mã lệnh tạo một class thành 2 phần: một phần chứa các khai báo thuộc tính và phương thức là interface (file Car.h) và phần còn lại chứa phần lớp thực thi (fileCar.m). Chúng ta sẽ tiến hành xây dựng interface trước tiên.

Xây dựng Interface

Chúng ta sẽ mở file Car.h và trong trạng thái ban đầu, nó sẽ giống ở trạng thái rỗng, có nghĩa là nội dung trong interface chưa có gì cả.
Trước hết, chúng ta phải khai báo foundation framework để có thể sử dụng được những lớp như NSString,NSMutableString… Sau đó, chúng ta sẽ tạo ra lớp Car là lớp con của NSObject. Trên lớp Car, chúng ta sẽ tạo ra một số thông tin lữu trữ những đặc tính của đối tượng Car. Cụ thể là đối tượng xe hơi thường sẽ có những thông tin như sau:
  • Make
  • Model
  • VIN
Thực tế thì một chiếc ôtô sẽ có rất nhiều thuộc tính. Tuy nhiên ở đây chúng tôi chỉ xin đề ra 3 thuộc tính rất thông dụng mà mọi ôtô đều có. Đó là thuộc tính make chứa thông tin về hãng xe, model chứa thông tin về mẫu xe và VIN (Vehicle dentification Number).  Như vậy ở trên interface Car ta sẽ khai báo 3 thuộc tính sau dòng khai báo interface và nằm trong ngoặc {} như đoạn mã bên dưới:
Tuy nhiên để bên ngoài có thể truy xuất giá trị của các thuộc tính thuộc trong lớp Car thì trên interface Car ta phải tạo ra các phương thức set... nhằm có thể thay đổi giá trị thuộc tính và các phương thức get... nhằm lấy các giá trị thuộc tính của một đối tượng Car đã khởi tạo.
Ngoài những phương thức get... và set... chúng ta có thể tạo thêm cho lớp Car một số phương thức hoạt động khác ví dụ như:
  • start
  • addGas
  • stop
Các phương thức trên sẽ được khai báo trong interface và ở đây chúng tôi xin áp dụng kiểu trả về là void cho cả 3 phương thức. Như vậy nội dung mới của interface Car sẽ như sau:

Xây dựng lớp thực thi

Vì vậy, bây giờ sau khi ta đã khai báo các thuộc tính và phương thức trên interface thì việc tiếp theo của chúng ta là phải khởi tạo nội dung cho các phương thức đã khai báo trong interface. Nhìn lại, chúng ta cần tạo 6 phương thức:setVinsetMakesetModel và vinmakemodel. Nội dung của file “Car.m” như sau:
Nếu như các bạn đã tìm hiểu qua về OOP thì đều biết, bất cứ lớp nào được tạo ra đều có constructor có sẵn mặc định (phương thức khởi tạo đối tượng). Lớp Car trong Objective-C cũng giống như vậy, cho nên ta không cần tạo constructor trong lớp Car thì vẫn khởi tạo đối tượng Car được. Tuy nhiên để đảm bảo mỗi đối tượng được khởi tạo sẽ có sẵn những thông tin như chúng ta mong muốn thì ta phải tự xây dựng lại constructor. Cụ thể ta sẽ thêm đoạn mã tạo constuctor như sau:

Xây dựng lớp chính (file main.m)

Xin chúc mừng! Nếu bạn đã hoàn tất các bước trên thì bước cuối cùng này sẽ giúp chúng ta kiểm tra lại kết quả mà ta đã xây dựng. Cụ thể trong bước này ta sẽ làm các công việc sau:
  • Khởi tạo đối tượng myCar (một thể hiện của lớp Car)
  • Set và get giá trị các thuộc tính của đối tượng myCar
  • Thực thi các phương thức startaddGas và stop của đối tượng myCar
Để làm được những điều trên các bạn hãy mở file main.m và gõ theo nội dung dưới đây:
Sau khi đã hoàn tất viết mã cho lớp main bạn có thể chạy chương trình bằng cách nhấn vào nút Run ở bên trên cửa sổ Project hoặc vào menu Product> Run. Nếu quá trình dịch thành công bạn sẽ nhìn thấy kết quả ở cửa sổ output bên dưới màn hình như sau:


Lưu ý:Series 6 bài viết về lập trình Objective-C này được sưu tầm từ nguồn trang:http://az4you.wordpress.com. Loạt bài viết nhằm phục vụ cho các bạn những kiến thức cơ bản ban đầu trước khi bắt tay vào học lập trình ứng dụng cho iOS (iPhone/iPad). ICTSharing xin thay mặt những người yêu lập trình Objective C gửi lời cảm ơn tới các tác giả gốc của các bài viết này! Các bạn cần lưu ý, dù là lập trình bằng bất kỳ ngôn ngữ nào, cho thiết bị nào thì nguyên lý cơ bản của nó cũng không có nhiều sự khác biệt, vì thế nếu bạn đã nắm vững một ngôn ngữ thì các ngôn ngữ còn lại sẽ không quá khó khăn nếu bạn thực sự tập trung. Trong thời gian chờ đợi ICTSharing ra mắt các video về hướng dẫn lập trình trên iOS, các bạn hãy tập trung nắm vững các phần cơ bản của ngôn ngữ Objective-C nhé.

«
Bài sau
Newer Post
»
Bài trước
Older Post

Bình luận

No comments :