Cách tạo đối tượng trong lớp C++
Nói cách khác, đối tượng 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à chức năng Show
Đối tượng là một thực thể thời gian chạy, nó được tạo trong thời gian 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 Hãy xem một ví dụ để tạo đối tượng của lớp sinh viên sử dụng s1 làm biến tham chiếu Trong ví dụ này, Student là kiểu và s1 là biến tham chiếu đề cập đến thể hiện của lớp Student Trong C++, lớp là một nhóm các đối tượng giống 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 tạo, v.v. Hãy xem một ví dụ về lớp C++ chỉ có ba trường Ví dụ đối tượng và lớp C++Hãy xem một ví dụ về lớp có hai trường. id và tên. Nó tạo thể hiện của lớp, khởi tạo đối tượng và in giá trị đối tượng đầu ra Ví dụ lớp C++. Khởi tạo và hiển thị dữ liệu thông qua phương thứcHãy xem một ví dụ khác về lớp C++ nơi chúng tôi đang lưu trữ và hiển thị thông tin nhân viên bằng phương thức Mục đích chính của ngôn ngữ lập trình Objective-C là thêm hướng đối tượng vào ngôn ngữ lập trình C và các lớp là tính năng trung tâm của Objective-C hỗ trợ lập trình hướng đối tượng và thường được gọi là các loại do người dùng định nghĩa Một lớp được sử dụng để chỉ định hình thức của một đối tượng và nó kết hợp biểu diễn dữ liệu và các phương thức để thao tác dữ liệu đó thành một gói gọn gàng. Dữ liệu và phương thức trong một lớp được gọi là thành viên của lớp Đặc điểm mục tiêu-C
Định nghĩa lớp khách quan-CKhi bạn xác định một lớp, bạn xác định một kế hoạch chi tiết cho một kiểu dữ liệu. Điều này không thực sự xác định bất kỳ dữ liệu nào, nhưng nó xác định ý nghĩa của tên lớp, tức là đối tượng của lớp sẽ bao gồm những gì và những hoạt động nào có thể được thực hiện trên một đối tượng như vậy Định nghĩa lớp bắt đầu bằng từ khóa @interface theo sau là tên giao diện (lớp); . Trong Objective-C, tất cả các lớp đều bắt nguồn từ lớp cơ sở gọi là NSObject. Nó là siêu lớp của tất cả các lớp Objective-C. Nó cung cấp các phương thức cơ bản như cấp phát bộ nhớ và khởi tạo. Ví dụ: chúng tôi đã xác định kiểu dữ liệu Hộp bằng cách sử dụng lớp từ khóa như sau - @interface Box:NSObject { //Instance variables double length; // Length of a box double breadth; // Breadth of a box } @property(nonatomic, readwrite) double height; // Property @end Các biến thể hiện là riêng tư và chỉ có thể truy cập được bên trong triển khai lớp Cấp phát và khởi tạo đối tượng Objective-CMột lớp cung cấp các bản thiết kế cho các đối tượng, vì vậy về cơ bản một đối tượng được tạo ra từ một lớp. Chúng ta khai báo các đối tượng của một lớp với chính xác kiểu khai báo mà chúng ta khai báo các biến kiểu cơ bản. Các câu lệnh sau khai báo hai đối tượng của lớp Box − Box box1 = [[Box alloc]init]; // Create box1 object of type Box Box box2 = [[Box alloc]init]; // Create box2 object of type Box Cả hai đối tượng box1 và box2 sẽ có bản sao thành viên dữ liệu riêng Truy cập các thành viên dữ liệuCác thuộc tính của các đối tượng của một lớp có thể được truy cập bằng cách sử dụng toán tử truy cập thành viên trực tiếp (. ). Hãy để chúng tôi thử ví dụ sau để làm rõ mọi thứ - #import @interface Box:NSObject { double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box } @property(nonatomic, readwrite) double height; // Property -(double) volume; @end @implementation Box @synthesize height; -(id)init { self = [super init]; length = 1.0; breadth = 1.0; return self; } -(double) volume { return length*breadth*height; } @end int main() { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; Box *box1 = [[Box alloc]init]; // Create box1 object of type Box Box *box2 = [[Box alloc]init]; // Create box2 object of type Box double volume = 0.0; // Store the volume of a box here // box 1 specification box1.height = 5.0; // box 2 specification box2.height = 10.0; // volume of box 1 volume = [box1 volume]; NSLog(@"Volume of Box1 : %f", volume); // volume of box 2 volume = [box2 volume]; NSLog(@"Volume of Box2 : %f", volume); [pool drain]; return 0; } Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau - 2013-09-22 21:25:33.314 ClassAndObjects[387:303] Volume of Box1 : 5.000000 2013-09-22 21:25:33.316 ClassAndObjects[387:303] Volume of Box2 : 10.000000 Tính chấtCác thuộc tính được giới thiệu trong Objective-C để đảm bảo rằng biến thể hiện của lớp có thể được truy cập bên ngoài lớp Các phần khác nhau là khai báo thuộc tính như sau
Chỉ có thể với các thuộc tính chúng ta có thể truy cập các biến thể hiện của lớp. Trên thực tế, các phương thức getter và setter nội bộ được tạo cho các thuộc tính Ví dụ: giả sử chúng ta có thuộc tính @property (không nguyên tử, chỉ đọc) BOOL isDone. Dưới mui xe, có setters và getters được tạo như hình bên dưới Chúng ta có thể tạo các đối tượng trong C không?Về mặt lập trình C, một đối tượng được triển khai dưới dạng một tập hợp các thành viên dữ liệu được đóng gói trong một cấu trúc và một tập hợp các hoạt động liên quan . Với nhiều phiên bản, dữ liệu cho một đối tượng được sao chép cho mỗi lần xuất hiện của đối tượng.
Làm thế nào để tạo một lớp C?Tôi đã làm theo cách này. . Xác định các thành viên dữ liệu của bạn trong một cấu trúc Xác định các thành viên chức năng của bạn lấy một con trỏ tới cấu trúc của bạn làm đối số đầu tiên Làm những điều này trong một tiêu đề và một c. Tiêu đề cho định nghĩa cấu trúc & khai báo hàm, c để triển khai Làm thế nào để một lớp tạo ra một đối tượng?Khi bạn tạo một đối tượng, bạn đang tạo một thể hiện của một lớp, do đó "khởi tạo" một lớp. Toán tử mới yêu cầu một đối số hậu tố duy nhất. một cuộc gọi đến một nhà xây dựng. Tên của hàm tạo cung cấp tên của lớp để khởi tạo. Constructor khởi tạo đối tượng mới
Có bao nhiêu đối tượng có thể được tạo trong một lớp C?7. Có bao nhiêu đối tượng có thể trình bày trong một lớp? . Bởi vì một lớp có thể chứa bất kỳ số lượng đối tượng nào theo sự tuân thủ của nó. |