Tôi có thể gọi một phương thức trong hàm tạo JavaScript không?
Từ khóa “this” trong Java được sử dụng như một tham chiếu đến đối tượng hiện tại, với một phương thức thể hiện hoặc một hàm tạo. Sử dụng điều này, bạn có thể giới thiệu các thành viên của một lớp như hàm tạo, biến và phương thức Show
Gọi một phương thức sử dụng từ khóa này từ một hàm tạoCó, như đã đề cập, chúng ta có thể gọi tất cả các thành viên của một lớp (phương thức, biến và hàm tạo) từ các phương thức thể hiện hoặc, hàm tạo Ví dụTrong chương trình Java sau, lớp Sinh viên chứa hai biến riêng name và age với các phương thức setter và một hàm tạo được tham số hóa chấp nhận hai giá trị này Từ hàm tạo, chúng tôi đang gọi các phương thức setName() và setAge() bằng cách sử dụng từ khóa "this" bằng cách chuyển các giá trị tên và tuổi thu được cho chúng tương ứng Từ phương thức chính, chúng tôi đang đọc các giá trị tên và tuổi từ người dùng và gọi hàm tạo bằng cách chuyển chúng. Sau đó, chúng tôi đang hiển thị các giá trị của tên và lớp của các biến thể hiện bằng cách sử dụng phương thức display() Cú pháp 0 thông thường cho phép chúng ta tạo một đối tượng. Nhưng thường thì chúng ta cần tạo nhiều đối tượng tương tự, như nhiều người dùng hoặc mục menu, v.v.Điều đó có thể được thực hiện bằng cách sử dụng hàm tạo và toán tử 1Hàm xây dựngCác hàm xây dựng về mặt kỹ thuật là các hàm thông thường. Có hai quy ước mặc dù
Ví dụ
Khi một hàm được thực thi với 3, nó sẽ thực hiện các bước sau
Nói cách khác, 7 làm điều gì đó giống như
Vì vậy, 8 cho kết quả tương tự như 1Bây giờ nếu chúng tôi muốn tạo những người dùng khác, chúng tôi có thể gọi 9, 10, v.v. Ngắn hơn nhiều so với sử dụng chữ mỗi lần và cũng dễ đọcĐó là mục đích chính của các nhà xây dựng - để triển khai mã tạo đối tượng có thể tái sử dụng Hãy lưu ý một lần nữa – về mặt kỹ thuật, bất kỳ hàm nào (ngoại trừ hàm mũi tên, vì chúng không có 4) đều có thể được sử dụng làm hàm tạo. Nó có thể chạy với 3 và nó sẽ thực hiện thuật toán trên. “Chữ in hoa đầu tiên” là một thỏa thuận phổ biến, để làm rõ rằng một chức năng sẽ được chạy với 3hàm mới() { … } Nếu chúng ta có nhiều dòng mã về việc tạo một đối tượng phức tạp duy nhất, chúng ta có thể gói chúng trong một hàm xây dựng được gọi ngay lập tức, như thế này 7Hàm tạo này không thể được gọi lại vì nó không được lưu ở bất kỳ đâu, chỉ được tạo và gọi. Vì vậy, thủ thuật này nhằm mục đích đóng gói mã xây dựng một đối tượng mà không sử dụng lại trong tương lai Kiểm tra chế độ xây dựng. Mới. Mục tiêuNội dung nâng cao Cú pháp từ phần này hiếm khi được sử dụng, hãy bỏ qua trừ khi bạn muốn biết mọi thứ Bên trong một hàm, chúng ta có thể kiểm tra xem nó có được gọi với 3 hay không, bằng cách sử dụng thuộc tính đặc biệt 15Nó không được xác định cho các cuộc gọi thông thường và bằng chức năng nếu được gọi bằng 3 1Điều đó có thể được sử dụng bên trong hàm để biết liệu nó được gọi với 3, “ở chế độ hàm tạo” hay không có nó, “ở chế độ thông thường”Chúng tôi cũng có thể thực hiện cả cuộc gọi 3 và thông thường để làm điều tương tự, như thế này 4Cách tiếp cận này đôi khi được sử dụng trong các thư viện để làm cho cú pháp linh hoạt hơn. Để mọi người có thể gọi hàm có hoặc không có 3, và nó vẫn hoạt độngTuy nhiên, có lẽ không phải là một điều tốt để sử dụng ở mọi nơi, bởi vì việc bỏ qua 3 làm cho nó ít rõ ràng hơn về những gì đang diễn ra. Với 3, tất cả chúng ta đều biết rằng đối tượng mới đang được tạoTrả về từ các nhà xây dựngThông thường, các hàm tạo không có câu lệnh 72. Nhiệm vụ của họ là viết tất cả những thứ cần thiết vào 4, và nó tự động trở thành kết quảNhưng nếu có một câu lệnh 72, thì quy tắc rất đơn giản
Nói cách khác, 72 với một đối tượng trả về đối tượng đó, trong tất cả các trường hợp khác, 4 được trả vềChẳng hạn, ở đây 72 ghi đè 4 bằng cách trả về một đối tượng 8Và đây là một ví dụ với một 72 trống (hoặc chúng ta có thể đặt một số nguyên thủy sau nó, không thành vấn đề) 0Thông thường các hàm tạo không có câu lệnh 72. Ở đây chúng tôi đề cập đến hành vi đặc biệt với các đối tượng trả về chủ yếu vì mục đích hoàn thiệnBỏ qua dấu ngoặc đơn Nhân tiện, chúng ta có thể bỏ dấu ngoặc đơn sau 3 3Bỏ qua dấu ngoặc đơn ở đây không được coi là "phong cách tốt", nhưng cú pháp được cho phép theo đặc điểm kỹ thuật Các phương thức trong constructorSử dụng các hàm xây dựng để tạo các đối tượng mang lại rất nhiều tính linh hoạt. Hàm xây dựng có thể có các tham số xác định cách xây dựng đối tượng và những gì cần đặt trong đó Tất nhiên, chúng ta có thể thêm vào 4 không chỉ các thuộc tính mà cả các phương thứcChẳng hạn, 16 bên dưới tạo một đối tượng với 17 đã cho và phương thức 18 8Để tạo các đối tượng phức tạp, có một cú pháp nâng cao hơn, các lớp, mà chúng ta sẽ đề cập sau Tóm lược
Chúng ta có thể sử dụng các hàm tạo để tạo nhiều đối tượng giống nhau JavaScript cung cấp các hàm tạo cho nhiều đối tượng ngôn ngữ tích hợp. như 41 cho ngày tháng, 42 cho bộ và những thứ khác mà chúng tôi dự định nghiên cứuĐối tượng, chúng tôi sẽ trở lại Trong chương này chúng ta chỉ trình bày những kiến thức cơ bản về đối tượng và hàm tạo. Chúng rất cần thiết để tìm hiểu thêm về các kiểu dữ liệu và chức năng trong các chương tiếp theo Sau khi biết điều đó, chúng ta quay lại các đối tượng và tìm hiểu sâu hơn về chúng trong các chương Nguyên mẫu, kế thừa và Lớp Chúng ta có thể gọi các phương thức từ bên trong hàm tạo không?Gọi phương thức sử dụng từ khóa này từ hàm tạo
. Yes, as mentioned we can call all the members of a class (methods, variables, and constructors) from instance methods or, constructors.
Điều gì xảy ra nếu chúng ta gọi một phương thức trong hàm tạo?Bạn không nên. gọi phương thức thể hiện trong hàm tạo là nguy hiểm vì đối tượng chưa được khởi tạo đầy đủ (điều này chủ yếu áp dụng cho các phương thức có thể bị ghi đè). Quá trình xử lý phức tạp trong hàm tạo cũng được biết là có tác động tiêu cực đến khả năng kiểm tra.
Chúng ta có thể gọi một phương thức lớp trong hàm tạo không?Bạn có thể gọi các phương thức lớp khác từ hàm tạo vì đối tượng đã được khởi tạo . |