tailieunhanh - Giáo trình phân tích quy trình nghiên cứu tạo ra những kiểu dữ liệu mới đa hình p10

Tham khảo tài liệu 'giáo trình phân tích quy trình nghiên cứu tạo ra những kiểu dữ liệu mới đa hình p10', tài chính - ngân hàng, kế toán - kiểm toán phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Không cho phép khởi tạo chúng ta không thể khởi tạo các trường thể hiện instance fields trong cấu trúc do đó đoạn mã nguồn sau sẽ không hợp lệ private int xVal 20 private int yVal 50 mặc dù điều này thực hiện tốt đối với lớp. Cấu trúc được thiết kế hướng tới đơn giản và gọn nhẹ. Trong khi các dữ liệu thành viên private hỗ trợ việc che dấu dữ liệu và sự đóng gói. Một vài người lập trình có cảm giác rằng điều này phá hỏng cấu trúc. Họ tạo một dữ liệu thành viên public do vậy đơn giản thực thi một cấu trúc. Những người lập trình khác có cảm giác rằng những thuộc tính cung cấp một giao diện rõ ràng đơn giản và việc thực hiện lập trình tốt đòi hỏi phải che dấu dữ liệu thậm chí với dữ liệu rất đơn giản. Chúng ta sẽ chọn cách nào nói chung là phụ thuộc vào quan nệm thiết kế của từng người lập trình. Dù chọn cách nào thì ngôn ngữ C cũng hỗ trợ cả hai cách tiếp cận. Tạo cấu trúc Chúng ta tạo một thể hiện của cấu trúc bằng cách sử dụng từ khóa new trong câu lệnh gán như khi chúng ta tạo một đối tượng của lớp. Như trong ví dụ lớp Tester tạo một thể hiện của Location như sau Location loc1 new Location 200 300 Ở đây một thể hiện mới tên là loc1 và nó được truyền hai giá trị là 200 và 300. Cấu trúc là một kiểu giá trị Phần định nghĩa của lớp Tester trong ví dụ trên bao gồm một đối tượng Location là loc1 được tạo với giá trị là 200 và 300. Dòng lệnh sau sẽ gọi thực hiện bộ khởi tạo của cấu trúc Location Location loc1 new Location 200 300 Sau đó phương tức WriteLine được gọi Loc1 location 0 loc1 Dĩ nhiên là WriteLine chờ đợi một đối tượng nhưng Location là một cấu trúc một kiểu giá trị . Trình biên dịch sẽ tự động boxing cấu trúc cũng giống như trình biên dịch đã làm với các kiểu dữ liệu giá trị khác . Một đối tượng sau khi boxing được truyền vào cho phương thức WriteLine . Tiếp sau đó là phương thức ToString được gọi trên đối tượng boxing này do cấu trúc ngầm định kế thừa từ lớp object và nó cũng có thể đáp ứng sự đa hình bằng cách phủ quyết các phương

TỪ KHÓA LIÊN QUAN