Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Constructor thường là một điểm nổi bật gây nhiều tò mò cho các lập trình viên mới. Để giải đáp thắc mắc, chúng ta có thể hiểu đơn giản rằng Constructor là một loại phương thức đặc biệt, được thiết kế để thực hiện quá trình khởi tạo cho đối tượng. Điều này có nghĩa là nó chịu trách nhiệm cho việc thiết lập các giá trị ban đầu cho các thuộc tính của đối tượng khi một đối tượng mới được tạo ra.

Để có cái nhìn chi tiết hơn về khái niệm này, đừng ngần ngại tham khảo các chia sẻ chi tiết trên blog mà chúng tôi sẽ giới thiệu ngay dưới đây!

Định nghĩa Constructor là gì?

Trong ngôn ngữ lập trình Java, constructor được xem là một phương thức đặc biệt có nhiệm vụ khởi tạo và trả về một đối tượng của lớp tương ứng. Tên của constructor thường trùng với tên của lớp và không trả về giá trị.

Khi một đối tượng được tạo thông qua việc gọi constructor bằng từ khóa “new”, constructor này cũng có thể được coi là constructor của các lớp cha. Trong quá trình này, tất cả các biến thành viên (instance variable) sẽ được khởi tạo với giá trị mặc định của chúng.

Định nghĩa Constructor là gì?

Định nghĩa Constructor là gì?

Constructor có thể được định nghĩa cho mọi đối tượng, đồng thời, các thuộc tính của đối tượng bao gồm cả phương thức, biến thể đối tượng, và chúng có thể được gọi theo các định nghĩa có sẵn.

Để thực hiện định nghĩa cho một constructor, người phát triển có thể sử dụng bốn access modifier khác nhau. Điều này cho phép kiểm soát phạm vi truy cập của các đối tượng và hạn chế việc truy cập từ bên ngoài.

Nếu một constructor được định nghĩa với kiểu giá trị được trả về, Java sẽ xem xét nó như một phương thức thông thường thay vì một constructor. Điều này có nghĩa là nếu kiểu giá trị được xác định, constructor sẽ không được coi là constructor mà thay vào đó sẽ được xem xét như một phương thức thông thường trong Java.

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ị

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

Phần lớn ngôn ngữ lập trình hướng đối tượng thường được sử dụng rộng rãi, ví dụ như PHP hoặc Java, để tận dụng tính năng của lập trình hướng đối tượng như sử dụng lớp. Người lập trình thường định nghĩa các lớp bằng cách xác định các thuộc tính và phương thức phù hợp cho đối tượng cụ thể. Lớp này thường chứa kế hoạch cụ thể về cách tạo ra các đối tượng từ định nghĩa của nó.

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.

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

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.

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 chắn rằng sau khi đọc thông tin chúng tôi đã cung cấp ở phía trước, bạn độc giả đã có kiến thức đầy đủ về khái niệm constructor là gì. Nếu có bất kỳ thắc mắc nào liên quan đến những thông tin đã được trình bày, đừng ngần ngại để lại ý kiến trong phần comment. Chúng tôi sẽ đồng lòng hỗ trợ giải đáp mọi thắc mắc của bạn!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *