Constructor là gì chắc hẳn là một trong những thắc mắc mà các Developer mới vào nghề vẫn còn nhiều thắc mắc về đáp án. Hiểu nôm na thì Constructor được định nghĩa như một kiểu phương thức đặc biệt có thể sử dụng để thực hiện khởi tạo cho đối tượng. Nếu bạn muốn hiểu sâu hơn về định nghĩa này thì đừng quên tham khảo những chia sẻ từ ITNavi ngay sau đây!
Định nghĩa Constructor là gì?
Trong Java, constructor được nhận định là một trong những phương thức khá đặc biệt và nó được sử dụng để có thể khởi tạo rồi thực hiện trả về đối tượng của lớp mà nó đã được nhận định. Constructor có tên tương tự với các tên lớp mà nó đã được định nghĩa, đương nhiên chúng cũng không được định nghĩa theo dạng một kiểu giá trị được trả về.
Chính vì vậy, khi một đối tượng được khởi tạo bằng cách gọi constructor với các toán từ new thì nó cũng được gọi là constructor của một số lớp cha và tất cả các instance variable được khởi tạo theo giá trị mặc định của nó.
Định nghĩa Constructor là gì?
Bạn có thể định nghĩa cho constructor với mọi đối tượng bất kỳ. Chính lúc đó, thì các thuộc tính của đối tượng; nó bao gồm các phương thức, instance variable và chúng có thể được gọi tùy theo những định nghĩa mà chúng ta có thể đạt được.
Developer có thể dùng bốn access modifier để thực hiện định nghĩa cho một constructor. Do vậy, chúng ta có thể giới hạn được những phạm vi cần truy cập đối với các đối tượng khác.
Nếu như ta định nghĩa được một constructor với kiểu giá trị nó được trả về, thì khi đó Java sẽ xem nó như là phương thức bình thường mà không phải là constructor.
Mời bạn tham khảo một số việc làm Java với nhiều chế độ hấp dẫn tại ITNAVI
Tìm hiểu thêm về Overloaded Constructor
Overloaded constructor là gì? Khi lập trình viên thực hiện định nghĩa cho nhiều constructor dành cho đối tượng và mỗi đối tượng của constructor đều sẽ có các tham số khác nhau về cả số lượng lẫn những dữ liệu kiểu tham số khác.
Cần lưu ý nguyên tắc định nghĩa overloaded constructor như sau:
- Các constructors cần phải được định nghĩa việc sử dụng các tham số khác nhau về cả số lượng lẫn kiểu dữ liệu tham số.
- Các constructor nếu không được định nghĩa thì chúng chỉ khác nhau ở access modifier.
Các thông tin về constructor trong Java
Constructor nằm trong Java là một trong những dạng đặc biệt của mọi phương thức và được dùng trong việc khởi tạo cho các đối tượng.
Java Constructor sẽ được gọi tại thời điểm tạo ra đối tượng. Nó có có thể khởi tạo được các giá trị cho việc cung cấp dữ liệu cho các đối tượng cần thiết, đó là lý do nó được xem là constructor.
Java Constructor có thể khởi tạo giá trị
Một số quy tắc giúp tạo constructor trong java
Sẽ có 2 quy tắc cơ bản cho việc tạo ra các constructor:
- Đưa ra tên constructor phải tương tự tên lớp có chứa nó.
- Constructor không phải có kiểu trả về tường.
Một số kiểu Java constructor như sau:
-
Các kiểu Constructor dạng mặc định
-
Các Constructor dạng tham số
Về các lớp
Hầu hết ngôn ngữ lập trình hướng đối tượng thường khá phổ biến tương tự như: PHP hoặc Java để có thể sử dụng các lớp. Từ đó, định nghĩa các thuộc tính và phương thức khác dành cho đối tượng. Lớp này thường bao gồm các bản kế hoạch cho việc tạo ra đối tượng.
Ví dụ cụ thể như sau: Trong ngôn ngữ PHP thì bạn có thể định nghĩa cho một lớp Person như sau:
class Person {
public $name;
function _construct($name) {
$this->name = $name;
}
function say() {
echo "Xin chào, tôi tên là " . $this->name;
}
} |
Trong số đó:
- Các thuộc tính $name.
- Những phương thức __construct() để có thể gán được các giá trị ban đầu cho một số thuộc tính đối tượng.
- Thực hiện các thức say().
Khi dựa vào những lớp Person trên thì bạn sẽ tạo ra được nhiều hơn các đối tượng khác nhau như $peter và marry tương tự đoạn mã dưới:
$peter = new Person("Peter");
$marry = new Person("Mary");
echo $peter->name;
echo $marry->name;
$peter->say();
$marry->say(); |
Tuy nhiên thì các ngôn ngữ JavaScript đều không sử dụng các lớp để định nghĩa cho thuộc tính và các phương thức đối tượng. Thay vào đó, nó có thể sử dụng được hàm constructor và thuộc tính protype.
Bạn đọc tham khảo thêm: Apache Tomcat là gì? Tìm hiểu tổng quan về Apache Tomcat
Về hàm Constructor
Đối với JavaScript thì hàm constructor đều được sử dụng cho mục đích định nghĩa các thuộc tính cũng như phương thức ban đầu dành cho đối tượng. Chúng đều được tạo ra từ việc sử dụng hàm này nhờ vào các từ khóa new.
Tính kế thừa của constructor
Dưới đây là ví dụ cơ bản khi sử dụng hàm constructor có tên là Person để định nghĩa được một số thuộc tính name và phương thức say() dành cho đối tượng.
function Person (name) {
this.name = name;
this.say = function () {
alert("Xin chào, tên tôi là" + this.name);
}
};
var peter = new Person("Peter");
peter.say(); |
Phân tích ví dụ:
Đối tượng có thuộc tính là name và là phương thức say().
Có: Từ Khóa this: được dùng để thực hiện tham chiếu tới các đối tượng đang được sử dụng.
Ngoài ra, từ khóa this còn được dùng trong các phương thức của đối tượng khác như:
var num = {
first: 1,
second: 2,
third: 3,
average: function () {
return (this.first + this.second + this.third) / 3;
}
}; |
Hoặc được định nghĩa trong hàm constructor như sau:
function ThreeNumbers () {
this.first: 1;
this.second: 2;
this.third: 3;
this.average: function () {
return (this.first + this.second + this.third) / 3;
}
}
var myNumber = new ThreeNumbers(2, 3, 5);
myNumber.average(); |
Constructor luôn được mặc định trong java và mục đích của nó. Mỗi một constructor nếu như không có tham số thì sẽ được gọi là constructor mặc định.
Cú pháp của constructor mặc định như sau:
<class_name>() {
// code
} |
Constructor được sử dụng mặc định giúp người dùng cung cấp một số giá trị như: 0, null, (tùy thuộc rất nhiều vào các kiểu dữ liệu) ... tới một số đối tượng đã được khởi tạo.
Bạn đọc tham khảo thêm: Spring framework là gì? Lợi ích mà Spring mang lại cho người dùng
Tìm hiểu constructor tham số trong Java
Một constructor sở hữu tham số truyền vào thì được gọi là tham số. Constructor sở hữu tham số được sử dụng cho các mục đích cung cấp giá trị khác nhau dành cho một số đối tượng khác nhau.
Sự khác nhau giữa constructor và phương thức trong java
Constructor |
Phương thức |
Được sử dụng cho các công việc khởi tạo trạng thái cho một đối tượng nhất định. |
Phương thức được dùng nhằm mục đích thể hiện hành động của đối tượng |
Constructor là kiểu không có trả về |
Sở hữu kiểu trả về |
Constructor được gọi ngầm |
Được gọi là tường mình |
Các trình biên dịch của Java tạo ra được constructor mặc định nếu người dùng không có. |
Phương thức không được tạo ra bởi những trình biên dịch của Java |
Tên của constructor cần giống tên lớp |
Tên của phương thức thường tương tự hoặc khác tên của lớp |
Tổng kết
Chắc rằng, với những thông tin mà chúng tôi cung cấp ở phía trên thì bạn đọc đã hiểu rõ constructor là gì? Nếu còn bất cứ thắc mắc nào liên quan đến các kiến thức trên, bạn đọc có thể comment để được chúng tôi hỗ trợ giải đáp nhé!