Biết về hàm tạo tham số trong Java với các ví dụ



Bài viết này trình bày cách chúng ta có thể sử dụng hàm tạo tham số hóa trong java với nhiều ví dụ khác nhau và sự khác biệt giữa hàm tạo mặc định và hàm tạo tham số hóa.

Java là một trong nhiều ngôn ngữ lập trình sau . Điều đó có nghĩa là trong khi lập trình bằng Java, chúng ta có tất cả các tính năng mạnh mẽ như Trừu tượng hóa dữ liệu, Đa hình, Kế thừa, v.v ... Cốt lõi của tất cả các tính năng OOP là việc triển khai các Lớp và Đối tượng và sự tương tác của chúng với nhau. Trong bài viết này, chúng ta sẽ đặc biệt xem xét cách khởi tạo một đối tượng bằng cách sử dụng các hàm tạo được tham số hóa trong . Xin lưu ý rằng sự hiểu biết cơ bản về là bắt buộc trước khi bạn tiếp tục các hàm tạo.

ví dụ ứng dụng mvc trong java

Một Constructor là gì?

Một phương thức khởi tạo về cơ bản là một phương thức được tự động gọi khi một đối tượng (thể hiện) được tạo ra từ lớp đó. Nó được sử dụng để khởi tạo các thành viên dữ liệu của một đối tượng.





public class Edureka {Edureka () {System.out.println ('constructor được thực hiện')}}

Một số tính năng của hàm tạo bao gồm:

  1. Nó trùng tên với tên lớp
  2. Nó không có kiểu trả lại

Các loại hàm tạo

  1. Nhà xây dựng mặc định
  2. Trình tạo tham số

các loại hàm tạo-hàm tạo tham số hóa trong java-edureka



Khối mã lệnh mặc định so với khối lệnh xây dựng tham số

Nhà xây dựng mặc định - Một phương thức khởi tạo không chấp nhận tham số nào được gọi là Hàm tạo mặc định. Không nhất thiết phải có một khối khởi tạo trong định nghĩa lớp của bạn. Nếu bạn không viết hàm tạo một cách rõ ràng, trình biên dịch sẽ tự động chèn một hàm tạo cho bạn.

Ví dụ minh họa hàm tạo mặc định trong Java:

public class Edureka {Edureka () {System.out.println ('I am a constructor')} public static void main (String args []) {Edureka obj = new Edureka ()}}
 Đầu ra: Tôi là một nhà xây dựng

Trình tạo tham số - Một phương thức khởi tạo được gọi là Parameterized Constructor khi nó chấp nhận một số tham số cụ thể. Để khởi tạo các thành viên dữ liệu của một lớp với các giá trị riêng biệt.



Ví dụ minh họa hàm tạo tham số:

public class Edureka {String studentName int studentAge // constructor Edureka (String name, int age) {studentName = name studentAge = age} void display () {System.out.println (studentName + '' + studentAge)} public static void main ( String args []) {Edureka myObj = new Edureka ('Manan', 19) myObj.display ()}}
 Đầu ra: Manan-19

Trong ví dụ trên, chúng ta đang truyền một chuỗi và một số nguyên cho đối tượng. Sau đó, hàm tạo khởi tạo studentName và studentAge bằng cách sử dụng các giá trị được truyền vào. Phương pháp hiển thị sau đó đưa ra kết quả mong muốn.

Với một phương thức khởi tạo được tham số hóa cho một lớp, người ta phải cung cấp các giá trị ban đầu làm đối số, nếu không, trình biên dịch sẽ báo lỗi.

Chuyển đối tượng làm đối số

Chúng ta cũng có thể truyền các đối số trong khi tạo các thể hiện khác của một lớp. Bằng cách này, các hàm tạo được tham số hóa đáp ứng nhu cầu sao chép các giá trị của một đối tượng này sang một đối tượng khác.

Ví dụ minh họa Truyền đối tượng dưới dạng đối số:

public class Edureka {String studentName Edureka (String name) {studentName = name} Edureka (Edureka myObj) {this.studentName = myObj.studentName} void display () {System.out.println ('Student:' + studentName)} public static void main (String args []) {Edureka obj1 = new Edureka ('Manan') / * chuyển đối tượng làm đối số cho hàm tạo * điều này sẽ gọi hàm tạo bản sao * / Edureka obj2 = new Edureka (obj1) System. out.println ('Đang in obj1 -') obj1.display () System.out.println ('Đang in obj2 -') obj2.display ()}}
 Đầu ra: 
Đối tượng in 1 -MananĐối tượng in 2 -Manan

Trong ví dụ trên, chúng tôi khởi tạo obj1 bằng một chuỗi. Sau đó, chúng tôi chuyển obj1 làm đối số trong khi tạo obj2. Cuối cùng, khi chúng tôi in cả hai biến studentName của đối tượng bằng cách sử dụng hàm hiển thị, chúng tôi nhận được “Manan”.

Gọi hàm tạo mặc định từ một hàm tạo được tham số hóa trong Java

Đôi khi cần phải gọi hàm tạo mặc định từ một hàm tạo khác cùng lớp. từ khóa này đáp ứng mục đích này.

Ví dụ minh họa cuộc gọi đến một hàm tạo mặc định từ một hàm tạo được tham số hóa:

public class Edureka {String studentName int studentAge String member Edureka () {member = 'YES'} Edureka (String name, int age) {this () / * cái này được sử dụng để gọi hàm tạo mặc định * từ hàm tạo tham số * / studentName = name studentAge = age} void display () {System.out.println (studentName + '-' + studentAge + '-' + 'Member' + member)} public static void main (String args []) {Edureka obj = new Edureka ('Manan', 21) obj.display ()}}

Đầu ra: Manan - 21 - Thành viên CÓ

Trong ví dụ trên, khi hàm tạo được tham số hóa trong được gọi, trước tiên nó gọi hàm tạo mặc định với sự trợ giúp của từ khóa this (). Hàm tạo mặc định khởi tạo biến “thành viên” thành “CÓ” và sau đó tiếp tục thực thi hàm tạo được tham số hóa.

Nạp chồng khối lệnh

Constructor hỗ trợ nạp chồng phương thức giống như bất kỳ lớp nào khác. Dựa trên các kiểu hoặc số lượng đối số khác nhau, các hàm tạo khác nhau sẽ được gọi.

Ví dụ minh họa Nạp chồng khối lệnh:

public class Rectangle {int length int breadth String color // constructor 1 Rectangle (int l, int b) {length = l breadth = b color = 'Green'} // hàm tạo 2 Rectangle (int l, int b, String c) {length = l breadth = b color = c} void display () {System.out.println ('Length-' + length + 'Breadth-' + breadth + 'Color' + color)} public static void main (String args [ ]) {Rectangle obj1 = new Rectangle (2,4) Rectangle obj2 = new Rectangle (2,4, 'Green') obj1.display () obj2.display ()}}
 Đầu ra: Chiều dài - 2 Chiều rộng - 4 Màu - Xanh lụcChiều dài - 2 Chiều rộng - 4 Màu - Đỏ

Bây giờ bạn đã nắm rõ các hàm tạo là gì và cách làm việc với chúng, bạn đã tiến thêm một bước nữa trên hành trình học Java của mình. Các khái niệm như hàm tạo rất đơn giản nhưng cực kỳ quan trọng vì chúng liên quan đến các lớp và đối tượng. Để có các chủ đề chuyên sâu hơn và các bài đọc vui nhộn, hãy đăng ký Edureka’s . Hãy kiểm tra của chúng tôi để bắt đầu việc học của bạn.

Có một câu hỏi cho chúng tôi? vui lòng đề cập đến vấn đề này trong phần nhận xét của bài viết 'Parameterized Constructor trong Java' này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.