Get và set trong java

     
khóa học Lập trình thiết kế Java lập trình Java cơ phiên bản đến hướng đối tượng người tiêu dùng Setter và getter trong xây dựng hướng đối tượng người dùng

Dẫn nhập

Trong bài trước, Kteam đã giới thiệu các bạn về KẾ THỪA trong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG. Ở bài xích này, họ sẽ mày mò lại 2 thủ tục setter cùng getter.

Bạn đang xem: Get và set trong java

Nội dung

Để hiểu hiểu bài bác này, tốt nhất chúng ta nên có kiến thức và kỹ năng cơ bản về những phần sau:

Bài này bọn họ sẽ mày mò những sự việc sau:

Setter cùng Getter là gì? nguyên nhân sử dụngCú pháp và sử dụng Setter và GetterChú ý

Setter cùng Getter là gì? nguyên nhân sử dụng

SetterGetter là 2 phương thức thực hiện để cập nhật hoặc lôi ra giá trị nằm trong tính, đặc trưng dành cho các thuộc tính sinh sống phạm vi private.

Việc sử dụng Setter và Getter quan trọng trong việc kiểm soát và điều hành những nằm trong tính đặc biệt quan trọng mà ta hay được thực hiện và yêu cầu giá trị bao gồm xác. Lấy ví dụ thuộc tính age lưu lại tuổi nhỏ người, thực tiễn thì phạm vi tuổi là từ bỏ 0 mang đến 100, thì ta không thể cho chương trình lưu cực hiếm age âm hoặc vượt 100 được.

Cú pháp và sử dụng Setter với Getter

Cú pháp:

Setter

public void set ()

this. = ;

Getter

get ()

return this. ;

Ví dụ: ta sẽ tạo nên phương thức setter và getter mang đến thuộc tính age lớp Person

public class Person {public String name;private int age;public float height;public Person(String name, int age, float height) this.name = name;this.age = age;this.height = height;public void setAge(int age) {if (age>=0 && ageVì ta vẫn chỉnh age thanh lịch private buộc phải giờ chỉ hoàn toàn có thể truy cập trải qua 2 cách làm này:

public class HelloWorld public static void main(String<> args) Person a = new Person("Chau", 21, 1.7f);System.out.println(a.getAge());a.setAge(22);System.out.println(a.getAge());a.setAge(-5);System.out.println(a.getAge());Theo kết quả, cực hiếm age sau cuối là 22

*

Chú ý

Khi đã cần sử dụng setter với getter thì thuộc tính đề xuất để private

Vì setter cùng getter nhằm thống trị truy cập của thuộc tính, thì ta tránh việc để nằm trong tính có thể truy cập dễ dàng dàng, không nên để sinh sống dạng public.

Hãy cảnh giác với kiểu tài liệu tham chiếu

Ta tạo nên một class bao gồm thuộc tính là kiểu dữ liệu tham chiếu là 1 mảng như sau

public class Example private int<> array;public void setArray (int<> array) this.array = array;public void displayArray() for (int a : this.array) System.out.print(a);System.out.println();Ta thử trường phù hợp này:

public class HelloWorld public static void main(String<> args) Example a = new Example();int<> có = 1,2,3;a.setArray(mang);a.displayArray();mang<1> = 3;a.displayArray();

*

Như kết quả, ban sơ ta chế tạo mảng với ở công tác main và gán nó mang lại thuộc tính array của lớp Example, như vậy array có quý giá là 1,2,3. Mặc dù nhiêu, kế tiếp ta thử biến đổi giá trị một phần tử trong với thì quý giá array cũng biến hóa theo.

Lý vị khi ta gán giá trị trong kiểu dữ liệu tham chiếu, bản chất ta gán giá trị vùng bộ lưu trữ lưu trữ. Gồm nghĩa bây giờ array và sở hữu đang ánh xạ phổ biến một đối tượng người sử dụng trong bộ nhớ.

Xem thêm: Mách Bạn Cách Chọn Kích Thước Vali Xách Tay Vietjet Air (Full)

Cách cách xử trí là tạo ra một bộ nhớ lưu trữ khác và copy cực hiếm đó vào. Ta vẫn dùng cách thức clone(), đó là phương thức cung cấp của Java, nó sẽ khởi tạo một phiên bản sao rồi trả bản sao kia cho đối tượng người sử dụng được gán.

public class Example private int<> array;public void setArray (int<> array) this.array = array.clone();public void displayArray() for (int a : this.array) System.out.print(a);System.out.println();Ta test thì tác dụng thì nó không còn sai:

*

Cũng tương tụ cho cách thức Getter, ta cũng return về bản sao của thuộc tính đó:

public class Example private int<> array;public void setArray (int<> array) this.array = array.clone();public int<> getArray() return this.array.clone();public void displayArray() for (int a : this.array) System.out.print(a);System.out.println();Lưu ý: riêng biệt với kiểu tài liệu String, mặc mặc dù cho là kiểu tài liệu tham chiếu. Mặc dù nhiên, String bao gồm cơ chế là khi biến đổi giá trị thì nó bàn chất nó đang tạo ra một đối tượng người tiêu dùng String mới. Bởi vì vậy, như các kiểu tài liệu nguyên thủy, bạn có thể làm cách thức getter cùng setter bình thường.

Tự tạo cách thức clone() mang lại lớp của mình

Như nghỉ ngơi bài phân tích và lý giải về hướng đối tượng, thì lớp cũng chính là kiểu tài liệu do ta tự định nghĩa ra. Do nó là kiểu tài liệu tham chiếu, có những khi lớp ta viết sẽ nằm trong tham số cách thức Getter với Setter.

Vậy ta sản phẩm công nghệ viết thủ tục clone() vào lớp Person như sau:

public class Person {public String name;private int age;public float height;public Person(String name, int age, float height) this.name = name;this.age = age;this.height = height;public void setAge(int age) {if (age>=0 && age

Kết

Như vậy chúng ta đã khám phá setter với getter trong lập trình hướng đối tượng

Ở bài bác sau, Kteam sẽ reviews đến bạn về OVERRIDING VÀ OVERLOADING vào LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Cảm ơn chúng ta đã theo dõi bài viết. Hãy nhằm lại comment hoặc góp ý của bản thân mình để vạc triển nội dung bài viết tốt hơn. Đừng quên “Luyện tập – thử thách – không ngại khó”.

Xem thêm: Tiền Ship Giao Hàng Tiết Kiệm Bảng Giá Gửi Đồ Là Bao Nhiêu? Tra Cước Phí Vận Chuyển Nhanh Chóng, Chính Xác

Thảo luận

Nếu bạn có ngẫu nhiên khó khăn hay thắc mắc gì về khóa học, đừng e dè đặt câu hỏi trong phần BÌNH LUẬN dưới hoặc vào mục HỎI và ĐÁP trên thư viện giangdien.com.vn.com để cảm nhận sự cung ứng từ cộng đồng.