Khởi tạo đối tượng trong php
Các lớp, trường, phương thức, hàm tạo và các đối tượng là các mảnh ghép của các đối tượng hướng ứng dụng Java Show
Bài hướng dẫn này giúp bạn hiểu
Đồng thời, bạn cũng sẽ tìm hiểu về setters và getters, phương thức nạp chồng (quá tải), thiết lập mức truy cập cho các trường, hàm tạo và phương thức, v. v Lưu ý. Các ví dụ trong hướng dẫn biên dịch này và chạy với phiên bản thấp hơn Java 12 1. Cách Khai báo Lớp trong Java. java baseMột lớp là khuôn mẫu cho các đối tượng. Bạn khai báo một lớp bằng cách chỉ định từ khóa lớp theo sau là một định danh (mã định danh) next is a cặp ký tự dấu trích dẫn mở và đóng phù hợp với 1 và 2 và phân định phần thân của lớpCú pháp khai báo class as after
Theo quy ước.
=> Quy định đặt tên này được gọi là CamelCasing (Hoặc PascalCase) > Xem thêm. Quy ước đặt tên trong Java Ví dụ bên dưới đây khai báo một lớp có tên là Sách
Phần thân của một lớp được điền với các trường, phương thức và hàm tạo. Kết hợp các tính năng của ngôn ngữ Java vào các lớp như là gói đóng trong Java. > Tìm hiểu kỹ hơn về Đóng gói trong Java qua ví dụ Hack tài khoản ngân hàng Khả năng này cho phép chúng ta thiết lập trình ở mức độ hiện tượng cao hơn (các lớp và đối tượng) thay vì tập trung riêng vào cấu trúc dữ liệu và chức năng Ghi chú. Ứng dụng dựa trên đối tượng là gì?Ứng dụng dựa trên đối tượng là một ứng dụng có thiết kế dựa trên việc khai báo các lớp, tạo các đối tượng và thiết kế các tương tác giữa các đối tượng Ghi chú. Lớp tiện ích là gì?Một lớp có thể được thiết kế để không liên quan gì đến đối tượng làm việc cụ thể. Thay vào đó, nó tồn tại như một địa điểm lưu trữ cho các trường lớp hoặc các phương thức lớp => Một lớp như vậy được gọi là lớp tiện ích Một ví dụ về lớp tiện ích là lớp Toán trong thư viện tiêu chuẩn của Java Tìm hiểu về Multi-class application và main()Một ứng dụng Java được thực hiện bởi một hoặc nhiều lớp Các ứng dụng nhỏ có thể được cung cấp bởi một lớp duy nhất, nhưng các ứng dụng lớn hơn thông thường yêu cầu nhiều lớp Trong trường hợp đó, một trong các lớp chỉ được định nghĩa là lớp chính và chứa phương thức 3Ví dụ 1. Một ứng dụng Java có nhiều lớp Bạn có thể khai báo lớp ba này trong một tệp mã duy nhất, chẳng hạn như 4. Sau đó, bạn sẽ biên dịch các nguồn tệp này như sau.
Trình biên dịch tạo ra ba tệp. 5, 6 và 7. Run this application application through command after.
You have output as after. 2Ngoài ra, bạn có thể khai báo từng lớp trong tệp nguồn riêng của nó. Theo quy ước, tên của tệp khớp với tên lớp. Ví dụ, bạn sẽ khai báo lớp 8 trong 9. Sau đó, bạn có thể biên dịch các nguồn tệp này theo một cách riêng biệt 5Để tiết kiệm thời gian tiết kiệm thời gian, bạn cũng có thể biên dịch cả ba tệp này cùng một lúc bằng cách thay thế tên tệp bằng dấu hoa thị ( 20) (nhưng vẫn . 8Dù bằng cách nào, bạn cũng sẽ chạy ứng dụng thông qua lệnh sau.
Ghi chú. Tìm hiểu một chút về Public classJava cho phép bạn khai báo một lớp có quyền truy cập công khai thông qua từ khóa công khai Khi bạn khai báo một puclic class, bạn phải lưu trữ nó trong một tệp có cùng tên Ví dụ. Bạn sẽ lưu trữ 22 trong tệp 23. Bạn chỉ có thể khai báo một lớp công khai trong một tệp lệnhKhi thiết kế các ứng dụng dưới dạng nhiều lớp, bạn sẽ chỉ định một trong các lớp này là lớp chính và định vị phương thức 3 ở trong đóTuy nhiên, không có gì ngăn cản bạn khai báo các phương thức 3 trong các lớp khác nhauChúng ta sẽ thử xem điều này ở ví dụ tiếp theo Ví dụ 2. Khai báo nhiều hơn một phương thức main() trong ứng dụng Java 4Sau khi biên dịch mã nguồn, bạn sẽ thực hiện các lệnh sau để kiểm tra các lớp trợ giúp A và B và để chạy ứng dụng lớp C. 0Sau đó, bạn sẽ quan sát các dòng đầu ra sau, một dòng trên mỗi lệnh java. 1Hãy cẩn thận khi sử dụng hàm main() trong JavaViệc đặt một phương thức 3 trong mỗi lớp có thể gây nhầm lẫn, đặc biệt nếu bạn quên ghi lại lớp chínhNgoài ra, bạn có thể quên xóa các phương thức này trước khi đưa ứng dụng vào trong sản phẩm, trong trường hợp đó, sự hiện diện của họ sẽ làm cho ứng dụng hấp dẫn hơn Hơn nữa, ai đó có thể chạy một trong các lớp hỗ trợ dẫn đến khả năng phá vỡ môi trường của ứng dụng Java 2. Tìm hiểu về Fields. Thuộc tính mô tảMô hình hóa mô hình có thể thực hiện được trong thế giới thực về mặt trạng thái gọi là thuộc tính (thuộc tính) Ví dụ. Một chiếc xe có màu và kiểm tra tài khoản có số dư Một lớp cũng có thể bao gồm trạng thái phi thực tế. Mặc dù vậy, trạng thái được lưu trữ trong các biến được gọi là các trường (trường) Cú pháp khai báo một trường (trường) như sau 2Khai báo trường tùy chọn bắt đầu bằng từ khóa tĩnh (đối số thuộc tính không phải là thực tế) và tiếp tục với loại được theo sau bởi một danh sách ( . Trường (Trường) có thể được khởi tạo một cách rõ ràng bằng cách chỉ định = theo sau là một biểu thức (biểu thức) với kiểu tương thích. Một dấu chấm phẩy để báo cáo cuối cùng Ví dụ khai báo một trường có tên là Sách 3Các cuộc khai báo trường 27 và 28 giống nhau với các cuộc khai báo biến mà chúng ta đã biết. Các trường này được gọi là trường mẫu vì mỗi đối tượng chứa bản sao riêng của chúng Các trường tiêu đề và pubYear lưu trữ giá trị cho một cuốn sách cụ thể. Tuy nhiên, thông thường bạn muốn lưu trữ trạng thái độc lập với bất kỳ cuốn sách cụ thể nào Ví dụ. Bạn có thể muốn ghi lại tổng số đối tượng Sách đã được tạo. Đây là cách bạn sẽ làm điều đó 4Ví dụ này khai báo trường số nguyên (int) lưu trữ lượng đối tượng Sách được tạo. Khai báo bắt đầu bằng từ khóa tĩnh để chỉ ra rằng chỉ có một bản sao của trường này trong bộ nhớ Mỗi cuốn sách đối tượng có thể truy cập bản sao này và không có đối tượng nào có bản sao riêng. Vì lý do này, tính được gọi là một trường lớp Khởi tạo. Khởi tạoCác trường trước đó sẽ không được gán giá trị khi bạn không khởi động một cách rõ ràng, nó sẽ được khởi động hoàn toàn với tất cả các bit của nó được đặt thành không You dedefault this default value is
Tuy nhiên, bạn cũng có thể khởi tạo một cách rõ ràng một trường khi trường được khai báo Ví dụ. you can only
Mặc dù bạn có thể khởi tạo trường đối tượng thông qua việc gán trực tiếp, nhưng việc thực hiện khởi động này trong một hàm tạo sẽ phổ biến hơn, điều này mình sẽ trình bày sau Ngược lại, một trường lớp (đặc biệt là hằng số lớp) thường được khởi tạo thông qua việc gán trực tiếp một biểu thức cho trường Hiểu sơ qua một chút về Lifetime và Scope trong chương trình JavaMột trường đối tượng được sinh ra khi đối tượng của nó được tạo và chết khi đối tượng được thu gom rác (thu gom rác) Một trường lớp được sinh ra khi lớp được tải xuống và chết khi lớp không được tải xuống hoặc khi ứng dụng kết thúc => This is call is Lifetime Trường sơ thẩm và trường lớp có thể truy cập được từ các khai báo của chúng cho đến cuối các khai báo của lớp chúng Trường thể hiện chỉ có thể truy cập được vào mã bên ngoài trong ngữ cảnh đối tượng (ngữ cảnh đối tượng) Trường lớp chỉ có thể truy cập được vào mã bên ngoài trong ngữ cảnh đối tượng (ngữ cảnh đối tượng) và lớp (ngữ cảnh lớp) khi được cấp mức truy cập phù hợp => This is call is Scope > Bạn cũng sẽ được tìm hiểu kỹ hơn về Lifetime và Scope trong KHÓA HỌC LẬP TRÌNH JAVA tại NIIT - ICT Hà Nội. Nhận lịch học ngày 3. Tìm hiểu về Method. Mô tả hành động của đối tượngNgoài việc mô hình hóa trạng thái của một thực thể trong thế giới thực, một lớp còn mô hình hóa các hành vi của nó => đây được gọi là phương thức (Phương thức) Ví dụ. Xe ô tô có thể chuyển đổi và tài khoản tín dụng có thể gửi tiền và rút tiền Một lớp cũng có thể bao gồm các hành vi phi thực tế. Một khai báo phương thức có cú pháp sau Cú pháp khai báo phương thức (method) 5Một khai báo phương thức tùy chọn bắt đầu bằng từ khóa tĩnh (đối với hành vi không phải là thực tế) và tiếp tục với returnType, theo sau là một định nghĩa . Sau đó, tên được theo sau bởi một số tùy chọn tham số được phân định bằng dấu giải nén Phần thân được phân tách bằng dấu ngoặc kép chứa mã để thực thi khi phương thức được gọi Kiểu trả về (hay còn gọi là kiểu trả về) xác định loại giá trị được trả về từ phương thức thông tin qua câu lệnh return (phần này chúng ta sẽ được tìm hiểu sau) Ví dụ, nếu một phương thức trả về các chuỗi, kiểu trả về của nó sẽ được đặt thành Chuỗi. Khi một phương thức không trả về một giá trị, kiểu trả về của nó được đặt thành vô hiệu Danh sách tham số (danh sách tham số) là danh sách khai báo tham số được phân tách bằng dấu phẩy Mỗi lần khai báo bao gồm một loại được theo sau bởi một danh sách không dành riêng cho tên tham số Tham số là một biến nhận một đối số (đối số) (một giá trị biểu thức có kiểu tương thích với tham số tương ứng của nó) khi một phương thức hoặc hàm tạo được gọi Một tham số là bộ đối cục bộ đối với phương thức hoặc hàm tạo của nó. Nó xuất hiện khi phương thức hoặc hàm tạo được gọi và biến mất khi phương thức hoặc hàm tạo trả về cho người gọi nó Nói cách khác, thời gian tồn tại của nó phụ thuộc vào phương thức thực thi. Một số tham số có thể được truy cập bởi bất kỳ mã nào trong phương thức. Phạm vi (Phạm vi) của nó là toàn bộ phương thức Ví dụ tuyên bố bốn phương thức trong Class Book 6Các phương thức 52 và 53 trả về giá trị của các trường tương ứng của chúng. Chúng ta sử dụng lệnh return để trả lại các giá trị này cho người gọi. Lưu ý rằng kiểu biểu thức của câu lệnh này phải tương thích với kiểu trả về của phương thức Các phương thức 54 và 55 cho phép bạn đặt giá trị của các trường title và pubYearCác loại trả lại của họ được đặt là void để chỉ ra rằng họ không trả lại bất kỳ giá trị nào cho khi được gọi đến Tất cả bốn phương thức được gọi là phương thức cá thể (phương thức thể hiện) bởi vì chúng chỉ ảnh hưởng đến các đối tượng mà chúng được gọi Ghi chú. Cùng tìm hiểu sơ qua một chút về Setter và GetterTiền tố 'set' được xác định bởi 54 và 55 là các phương thức thiết lập phương thức (setter methods), có nghĩa là chúng sẽ thiết lập các giá trịTương tự, tiền tố 'get' xác định 52 và 53 là các phương thức getter (phương thức getter), có nghĩa là chúng sẽ lấy các giá trịNếu bạn đang thắc mắc về lý do sử dụng các phương thức setter / getter thay vì truy cập trực tiếp vào tiêu đề và pubYear, thì bạn có thể đọc kỹ hơn về chủ đề này tại Stackoverflow Quay trở lại với ví dụ ở trên Các phương thức 52, 53, 54 và 55 ảnh hưởng đến các bản sao của một đối tượng của các trường title và pubYearTuy nhiên, có thể bạn sẽ muốn khai báo một phương thức độc lập với bất kỳ cuốn sách cụ thể nào Ví dụ. Bạn có thể muốn giới thiệu một phương thức xuất ra số lượng đối tượng Sách, như sau 7Ví dụ này tuyên bố một phương thức 84 sẽ đưa ra giá trị của trường 85. Khai báo bắt đầu bằng từ khóa tĩnh để chỉ ra rằng phương thức này thuộc về lớp và không thể truy cập trạng thái đối tượng riêng lẻ, không có đối tượng cần phải được tạo ra Vì lý do này, 84 được gọi là một phương thức lớpTìm hiểu về biến cục bộ. Biến cục bộTrong một phương thức hoặc hàm tạo, bạn có thể khai báo các biến bổ sung như một phần của công việc khai triển (triển khai) nó Các biến này được gọi là biến cục bộ (Biến cục bộ) Chúng chỉ tồn tại khi phương thức hoặc hàm tạo đang thực thi và không thể truy cập được từ bên ngoài phương thức / hàm tạo đó. Hãy xem xét ví dụ sau 8Trong ví dụ này khai báo một phương thức có tên là 87 để tính toán và xuất ra mức trung bình của một mảng kép. Ngoài các giá trị tham số, nó khai báo các biến cục bộ 88 và 89 để giúp tính toán
Thời gian tồn tại và phạm vi của một bộ biến cục bộ được giới hạn trong khối mà nó được khai báo, cũng như các khối con Đây là lý do tại sao biến ____189 không thể truy cập bên ngoài vòng lặp cho Hãy xem xét ví dụ sau đây 9Phương thức nạp chồng. Nạp chồng phương thứcJava cho phép bạn khai báo các phương thức có cùng tên nhưng với các danh sách tham số khác nhau trong cùng một lớp. Tính năng này được gọi là nạp chồng phương thức Khi biên dịch gặp một biểu thức gọi đến phương thức, nó so sánh danh sách các đối số được phân tách bằng dấu hài của phương thức với mỗi danh sách tham số của quá tải phương thức vì nó cần tìm đúng phương thức để gọi Hai phương thức cùng tên bị quá tải khi danh sách tham số của chúng khác nhau về số lượng hoặc thứ tự tham số Ngoài ra, hai phương thức cùng tên cũng bị quá tải khi có ít nhất một tham số khác nhau về kiểu Ví dụ, hãy xem xét bốn phương thức 4 sau đây, phương pháp vẽ một hình dạng hoặc chuỗi tại vị trí vẽ hiện tại hoặc được chỉ định 0Khi biên dịch gặp 5, nó sẽ chọn phương thức thứ ba vì nó cung cấp một danh sách tham số phù hợp. Tuy nhiên, trình biên dịch sẽ làm gì khi nó gặp 6?Nó sẽ báo cáo một thông báo lỗi 7 bởi vì có hai phương pháp để lựa chọnBạn không thể quá tải một phương thức bằng cách chỉ thay đổi kiểu trả về Ví dụ You can't only 8 and 9Vì trình biên dịch không có đủ thông tin để phân biệt giữa các phương thức này khi nó gặp 40 trong tập lệnh. Trình biên dịch sẽ báo cáo lỗi ' 41' (Định nghĩa lại)Tìm hiểu về câu lệnh Return trong JavaĐổi khi, một phương thức phải kết thúc thời gian thực hiện trước khi kết thúc Ví dụ Phương pháp vẽ một pixel có thể phát hiện tọa độ âm thanh. Các phương thức khác cần trả về một giá trị cho người gọi họ Đối với cả hai vấn đề, Java cung cấp câu lệnh trả về để chấm dứt phương thức thi và điều khiển trả về cho người gọi phương thức. This command has a cú pháp sau 1Bạn chỉ có thể trả về mà không cần biểu thức để thoát sớm một phương thức hoặc một hàm tạo. Ví dụ Một phương thức có tên là 42 sao chép các byte từ luồng đầu vào tiêu chuẩn (thu được thông tin qua các phương thức cuộc gọi 43 ) đến luồng đầu ra tiêu chuẩn (thông qua các phương thức cuộc gọi 44 ). Phương pháp thứ hai được hiển thị dưới đây 2 43 byte đọc từ luồng đầu vào tiêu chuẩn, mặc định cho bàn phím nhưng có thể được chuyển hướng đến một tệp. Khi luồng được chuyển hướng đến một tệp, 46 được trả về khi không còn byte nào để đọcKhi 42 phát hiện ra vấn đề này, nó sẽ thực hiện quay trở lại từ vòng lặp vô hạn cho người gọi của nóYou can only return with a expression to return a value for the method call. (Trình xây dựng không hỗ trợ phiên bản trả về này vì chúng không có kiểu trả về. ) Ví dụ. Bạn có thể quay lại sớm từ một phương thức đang tìm kiếm một giá trị mảng cụ thể khi tìm thấy giá trị Bản ghi này không được hiển thị trong ví dụ sau 34. Tìm hiểu về Constructor. Khởi tạo đối tượngCũng giống như việc gán giá trị rõ ràng cho các trường, một lớp có thể khai báo một hoặc nhiều mã khối để khởi động đối tượng mở rộng hơn Mỗi mã khối là một hàm tạo Khai báo constructor bao gồm
Cú pháp khai báo một hàm tạo như sau. 4Tên lớp phải khớp với tên của lớp trong hàm tạo đó được khai báo. tham sốList là một danh sách các tham số được phân tách bằng dấu phẩy. Một phần thân được phân tách bằng dấu trích dẫn chứa mã để thực thi khi hàm tạo hàm được gọi Không giống như một phương thức, hàm tạo hàm không có kiểu trả về vì nó không trả về bất kỳ giá trị nào Ghi chú. Hàm Constructor mặc định không đối sốKhi một lớp không khai báo bất kỳ hàm tạo hàm bất kỳ nào, trình biên dịch sẽ tạo một hàm tạo hàm mặc định không có đối số. Constructor default this does not doing anything Ví dụ sau khi khai báo hàm dựng hàm trong lớp 48. Hàm constructor khởi tạo các trường 27 và 28 của các đối tượng Sách cho các đối số được truyền cho các tham số 01 và 02 của hàm constructor khi các đối tượng được tạo. Hàm tạo cũng tăng trường 85 5Tên tham số có dấu gạch dưới hàng đầu để ngăn chặn sự cố với các bài tập. Ví dụ. if you change name 01 to 27 and only 06, you will only gán giá trị của tham số cho tham số, không thực hiện được gì. Tuy nhiên, bạn có thể tránh vấn đề này bằng cách thêm tiền tố 07 trước tên của trường này 6Từ khóa 08 đại diện cho đối tượng hiện tại (thực tế, tham chiếu của nó). Thêm 07 vào tên trường sẽ truy cập tên trường thay vì tham số cùng tên. Ghi chú. trường đổ bóngMột tham số hoặc biến tên bộ cục bộ có thể phủ bóng một trường tên lớp. Bạn có thể sử dụng trường này trước tên lớp để truy cập vào trường này Mặc dù bạn có thể khởi tạo các trường như title và pubYear thông qua các ví dụ được hiển thị ở trên, nhưng tốt nhất là thực hiện các ví dụ thông qua các phương thức setter như 54 và 55, như được trình bày dưới đây 7Lưu ý rằng trong tương lai các phương thức này có thể thực hiện các tác vụ khởi tạo bổ sung. In sao mã này trùng lặp trong hàm tạo? Tìm hiểu về Constructor CallingCác lớp có thể khai báo nhiều hàm tạo Ví dụ. Một hàm tạo 48 chỉ chấp nhận các đối số 27 và 28 là 46 để chỉ ra rằng năm xuất bản không xác địnhHàm khởi tạo hàm bổ sung này giống với lệnh cấm khởi tạo hàm khởi tạo được hiển thị bên dưới 8Tuy nhiên, có một vấn đề với hàm tạo hàm mới này. it copy code ( 16) is in the current constructor function. Lặp lại mã là không cần thiết cho lớp Java cung cấp một cách để tránh sự trùng lặp này bằng cách cung cấp cú pháp 17 để có một hàm tạo hàm gọi một hàm khác 9Hàm khởi tạo đầu tiên sử dụng từ khóa này theo sau là danh sách đối số được đặt trích dẫn để gọi hàm tạo hàm thứ hai. Tham số giá trị duy nhất được truyền không thay đổi làm đối số thứ nhất và 46 được truyền dưới dạng đối số thứ haiKhi sử dụng 19, hãy nhớ rằng nó phải là đoạn mã đầu tiên trong hàm tạo hàm. Nếu không biên dịch biên dịch sẽ báo lỗi5. Tìm hiểu về đối tượng. Work with class InstanceMột khi bạn đã khai báo một lớp, bạn có thể tạo các đối tượng (object) từ nó. Một đối tượng chính có thể hiện của một lớp Ví dụ, Class Book đã được khai báo, bạn có thể tạo một hoặc nhiều đối tượng Book other Hoàn thành nhiệm vụ này bằng cách chỉ định toán tử mới theo sau bởi hàm tạo Book, as after 0new sẽ tải Sách vào bộ nhớ và sau đó gọi hàm tạo của nó với các đối số 20 và 21. Đối tượng được khởi tạo cho các giá trị này. Khi hàm tạo hàm trả về từ thực thi của nó, 22 sẽ trả về một tham chiếu (một loại con trỏ tới một đối tượng) cho đối tượng 48 mới được khởi độngTham chiếu này sau đó được gán cho biến 24 (có thể hiện)Ghi chú. Kiểu trả về của constructorNếu bạn đã đặt câu hỏi tại sao hàm tạo hàm không có kiểu trả về, thì câu trả lời là không có cách nào để trả về giá trị của hàm tạo Sau tất cả, toán tử mới trả về một tham chiếu đến đối tượng vừa được tạo Sau khi tạo một Sách đối tượng, bạn có thể gọi các phương thức 52 và 53 của nó để trả về các trường giá trị đối tượngNgoài ra, bạn có thể gọi 54 và 55 để đặt giá trị mớiTrong cả hai trường hợp, bạn sử dụng toán tử chấm truy cập ( 29) Tham khảo 24 để hoàn thành nhiệm vụ này 1Ghi chú. đối tượng nhắn tinGọi một phương thức trên một đối tượng tương ứng với việc gửi một thông báo đến đối tượng. Tên của phương thức và các đối số của nó được khái niệm hóa như một thông điệp đang được gửi đến các đối tượng mà phương thức được gọiBạn không được tạo bất kỳ cuốn sách bất kỳ đối tượng nào để gọi các phương thức lớp Thay vào đó, bạn gọi bằng cách như sau 2Cuối cùng, có thể nhận và đặt giá trị của phiên bản Sách và lớp đã nộp. Sử dụng một tham chiếu đối tượng để truy cập vào một trường đối tượng và tên lớp để truy cập vào một trường lớp. 3Trước đây mình đã đề cập rằng các phương thức cá nhân chỉ có thể ảnh hưởng đến các đối tượng mà chúng được gọi là. Chúng không ảnh hưởng đến các đối tượng khác. Ví dụ sau củng cố sự thật này bằng cách tạo hai đối tượng Sách và sau đó truy cập vào tiêu đề của từng đối tượng, sau đó là đầu ra 4Ẩn thông tin và mức độ truy cậpPhần thân của một lớp bao gồm giao diện và triển khai Giao diện là một phần của lớp có thể truy cập được từ bên ngoài lớp Thực hiện là một phần của lớp tồn tại để hỗ trợ giao diện. Việc triển khai nên được ẩn đi để có thể thay đổi để trả lời các yêu cầu lập trình Hãy xem xét lớp học 48. Constructor và method header tạo thành giao diện của lớp nàyMã trong hàm tạo hàm và phương thức, và các trường khác nhau là một phần của việc triển khai Không cần phải truy cập vào các trường này vì chúng có thể được đọc hoặc ghi thông qua các phương thức getter và setter Tuy nhiên, vì không có biện pháp phòng ngừa nào được thực hiện, nên có thể truy cập trực tiếp vào các trường này Bằng cách sử dụng biến tham chiếu 24 trước đó, bạn có thể chỉ định 33 và 34 và điều đó là ổn với trình biên dịch JavaĐể ngăn truy cập vào các trường này (hoặc ít nhất là xác định ai có thể truy cập chúng), bạn cần tận dụng các cấp độ truy cập (mức độ truy cập)
Nếu không có từ khóa thì sẽ bị ngừng hiểu là Quyền truy cập gói. Truy cập gói tương tự như truy cập công cộng Tuy nhiên, không giống như truy cập công khai, mã phải được đặt trong một lớp thuộc cùng một gói Bạn có thể ngăn mã bên ngoài truy cập vào các trường 27 và 28 của 48 để nỗ lực truy cập các trường này từ bên ngoài 48 sẽ dẫn đến thông báo lỗi biên dịchLàm việc này bằng cách đặt 39 cho các báo cáo của họ, như được làm giống bên dưới đây 5Để bạn biết lý do tại sao nên ẩn quyền truy cập vào các trường, mình đã tạo một ví dụ khác mở rộng Lớp Sách để bổ sung thêm trường cho tác giả, phương thức . Ví dụ sau đây để xem các phần đã sửa đổi của Class Book đã được cập nhật 6Nếu bạn nhớ lại, function constructor 40 thực thi 41 để tránh trùng lặp mã. Tương tự, mình đã thiết kế 42 để thực thi 43, gọi hàm tạo hàm mới nhất, để tránh trùng lặpBạn có thể dễ dàng tạo một đối tượng Sách mới bao gồm tên tác giả và lấy tên này thông qua phương thức 44 7Vui lòng xem nhận xét nâng cấp Sách lớp không cho phép nhiều tác giả. Bạn không thể thay đổi tiêu đề của hàm tạo hoặc 44 / 46 để thực hiện điều chỉnh này vì như vậy sẽ thay đổi giao diện và tạo mã liên quan đến giao diện ở bên ngoài hoạt động liên tụcThay vào đó, bạn sẽ cần phải làm lại như sau 8Mình đã thay đổi trường 47 trước đó thành trường 48. Ngoài ra, mình đã thay đổi kiểu của nó từ kiểu 49 sang kiểu mảng 50. Mình đã sửa hàm tạo của 51 để gọi hàm tạo của hàm 52Vì tham số thứ ba của hàm tạo hàm đó là kiểu 50, nên lệnh gọi 19 chuyển đổi đối số ______355 của nó thành một mảng đơn - phần tử bao gồm thông tin chính của nó thông qua 56Toán tử mới được sử dụng để tạo mảng chuỗi phần tử đơn và gán tham chiếu chuỗi tác giả cho phần tử này Phương thức 44 ban đầu truy cập phần tử đầu tiên trong mảng tác giảMình đã sửa đổi phương thức 46 ban đầu để chuyển đối số đơn 49 thành mảng chuỗi phần tử đơn, sau đó gọi 60 với mảng này làm đối sốCuối cùng, mình đã bổ sung các phương thức 61 và 60 mới để trả về tham chiếu mảng 48 hoặc gán tham chiếu mới cho 48Bạn có thể tạo một đối tượng 48 mới bao gồm nhiều tên tác giả bằng cách gọi hàm tạo hàm mớiSau đó, bạn chỉ có thể nhận được tên thông tin đầu tiên thông qua 44 hoặc có thể nhận được tất cả các tên tác giả thông qua 61 9Nếu trường cấm đầu tiên của 47 không được đánh dấu là 39, bạn sẽ không thể mở rộng ( 70) 48 theo cách này. Hơn nữa, các mã bên ngoài sẽ có thể truy cập trực tiếp vào trường này (ví dụ:. 72) và sẽ bị lỗi khi bạn thay đổi tên trườngCách ẩn các hàm Constructor và MethodCũng giống như việc ẩn các trường, bạn có thể cần ẩn hàm tạo hàm hoặc phương thức. Bạn thường ẩn hàm tạo hàm để ngăn lớp tiện ích lớp được khởi tạo Và bạn cũng thường ẩn một phương thức khi nó chỉ tồn tại để phục vụ một phương thức khác (hoặc một hàm tạo hàm). Một phương pháp như vậy được gọi là một phương pháp trợ giúp. Dưới đây là một ví dụ 0TỔNG KẾTNhư bạn đã được hướng dẫn trong bài viết này, một ứng dụng dựa trên đối tượng ứng dụng được đóng gói trạng thái và hành vi bên trong các lớp và đối tượng Ngược lại, một ứng dụng hướng đối tượng Java cũng hỗ trợ kế thừa (kế thừa) Bài viết tiếp theo của mình sẽ tập trung vào lập trình với sự kế thừa. Trong thời gian chờ đợi, bạn có thể xem qua Series Học Java trong 7 ngày nếu bạn muốn Hi vọng sẽ giúp các bạn học lập trình Java căn bản chắc chắn hơn --- HỌC VIỆN ĐẠO TẠO CNTT NIIT - ICT HÀ NỘI Học lập trình chất lượng cao (Từ năm 2002). Học thực tế + Tuyển dụng ngay Đc. Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội SĐT. 02435574074 - 0383. 180086 E-mail. xin chào@niithanoi. giáo dục. vn trang chủ. https. //Facebook. com/NIIT. CNTT-TT/ #niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #python #java #php |