Ví dụ thực tế về cách tạo Class và Object trong Java OOP

Ngày đăng: 20/05/2019   -    Cập nhật: 28/01/2021


Bài học này chúng ta sẽ học Cách tạo một classobject trong lập trình Java hướng đối tượng (Java OOP).


Ví dụ thực tế về cách tạo Class và object trong Lập trình Java

Ví dụ thực tế về cách tạo Class và object trong Lập trình Java

 
Bài viết này, trước tiên mình sẽ giúp bạn hiểu cơ bản qua các ví dụ thực tế. Biết cách tạo classobject trong Java như thế nào.


> Còn nếu bạn đã biết cơ bản và muốn tìm hiểu kỹ hơn thì đọc ngay bài viết Class và Object trong Java


1. Class trong Java là gì? Object trong Java bạn đã từng nghe đến chưa?


Các Class và các Object là những thành phần cơ bản của Lập trình hướng đối tượng (OOP).


Thường sẽ có một sự nhầm lẫn giữa các Class và các Object. Trong bài này, mình sẽ cố gắng giúp cho bạn hiểu được.



  • Class là gì? Cách tạo Class trong Java
  • Object là gì? Cách tạo Object trong Java
  • Sự khác biệt giữa Class và Object là gì
  • Các khái niệm của Class và Object
  • Ví dụ về Class và Object trong Java
  • Ví dụ về Class và Object: Phương thức main() bên ngoài class


Class trong Java là gì?



Trong Java một Class là một thực thể xác định đối tượng sẽ có những hành vi nào và những đối tượng sẽ có.


Nói cách khác, class chỉ là một bản kế hoạch hay một bộ chỉ dẫn để xây dựng các đặc điểm của đối tượng cụ thể sau này.



Cách tạo class trong Java:




class <class_name> {
    field;
    method;
}
 


Trong đó:


  • class: Là từ khóa để tạo class
  • <class_name>: Là tên class bạn định tạo nó sẽ được viết theo quy tắc PascalCase (Viết liên và viết HOA chữ cái đầu tiên của từng từ)
  • field: Các biến đối tượng
  • method: Các phương thức

Object trong Java là gì?



Một Object (đối tượng) nó chứa trong đó bao gồm các method (phương thức) và properties (thuộc tính) để tạo ra một kiểu dữ liệu hữu ích.


Object xác định hành vi của class. Khi bạn gửi một thông điệp vào một object, có nghĩa là bạn đang yêu cầu gọi các object hoặc thực hiện một trong những phương thức của nó.


Từ một quan điểm của lập trình hướng đối tượng, một đối tượng có thể là một cấu trúc dữ liệu (data structure), một biến (variable) hoặc một chức năng (function).


Object được phân bổ vị trí bộ nhớ. Các Object được thiết kế như class phân cấp.



Cách tạo Object trong Java:




<class_name> ReferenceVariable = new <class_name>();
 


Trong đó:


  • <class_name>: Là kiểu dữ liệu của đối tượng bạn định tạo
  • ReferenceVariable: Là tên tham chiếu của đối tượng
  • new: Từ khóa để tạo đối tượng
  • <class_name>(): Là class mà bạn tạo đối tượng từ nó

2. Điểm khác biệt giữa Class và Object trong Java OOP


Một Class là một Blueprint (kế hoạch) hay Prototype (nguyên mẫu) xác định biến và các phương thức (hay function) chung với tất cả các đối tượng cùng loại.


Một Object (đối tượng) là một cụ thể, thể hiện của một Class.


Các đối tượng thường được dùng để mô tả đối tượng trong thế giới thực mà bạn thấy hàng ngày.


3. Hiểu về khái niệm Class và Object trong Java với ví dụ cụ thể


Hãy lấy một ví dụ về việc phát triển Hệ thống Quản lý Chó.


Bạn sẽ cần nhiều thông tin về những con chó giống như các loài khác nhau của những con chó, tuổi, kích thước....


Bạn cần phải mô hình hóa con chó vào phần mềm.


Mô hình hóa thực thể vào phần mềm

Mô hình hóa thực thể vào phần mềm

 

Và câu hỏi là: Làm thế nào để xây dựng một hệ thống như vậy?


Đầu tiên, chúng ta hãy làm một bài tập. 


Bạn có thể xem hình ảnh khác nhau ba giống chó bên dưới đây.


3 giống chó khác nhau - Ví dụ về Class và Object trong Java

3 giống chó khác nhau - Ví dụ về Class và Object trong Java

 

Bây giờ, ngay tại đây! Hãy liệt kê ra sự khác biệt của chúng


Một số sự khác biệt bạn có thể liệt kê ra có lẽ là:



  • Giống
  • Tuổi
  • Kích cỡ
  • Màu sắc.


Nếu bạn suy nghĩ thêm một phút, sự khác biệt này cũng là đặc điểm chung của những con chó này.


Những đặc điểm (giống, tuổi, kích cỡ, màu) có thể tạo thành một dữ liệu cho các dữ liệu của object (gọi là Data member)


Các đặc điểm khác biệt của giống chó - Data member trong Java

Các đặc điểm khác biệt của giống chó - Data member trong Java

 

Tiếp theo, hãy liệt kê các hành vi phổ biến trong những con chó này như:


  • Ăn
  • Ngủ
  • Ngồi
  • Chạy


Và đây sẽ là hành động của object trong phần mềm.

 

Và, đến đoạn này, chúng ta đã xác định được các điều sau đây:


Mô hình hóa giống chó bằng class Dog

Mô hình hóa giống chó bằng class Dog

 

Bây giờ, cho các giá trị khác nhau cho data member (giống, kích thước và màu) trong class, bạn sẽ nhận được các object chó khác nhau.

Gán các đặc điểm cho data member để tạo ra các giống chó khác nhau

Gán các đặc điểm cho data member để tạo ra các giống chó khác nhau

 

Bạn có thể thiết kế bất kỳ chương trình nào sử dụng cách tiếp cận của Lập trình hướng đối tượng (OOP)


Trong khi tạo ra một class, bạn phải thực hiện theo nguyên tắc.



5 nguyên tắc khi tạo class trong Java:



  • Single Responsibility Principle (SRP)
  • Open Closed Responsibility (OCP)
  • Liskov Substitution Responsibility (LSR)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)
 

Tìm hiểu thêm về SOLID trong Java


Nếu bạn mới bắt đầu học Java. Hãy để mọi thứ đơn giản nhất.


Bài này thì bạn chỉ cần biết là có 5 nguyên tắc 
tạo class là được.
 

4. Ví dụ thực tế về cách tạo Class và Object trong Java


Chúng ta sẽ tạo Class Dog như đã phân tích ở trên:



// Khai báo class
public class Dog {

    // Tạo các biến
    String breed;
    String size;
    int age;
    String color;
  
    // Phương thức lấy thông tin giống chó
    public String getInfo() {
        return ("Breed is: "+breed+" Size is: "+size+" Age is: "+age+" Color is: "+color);
    }
    
    // Tất cả sẽ được thực thi từ trong hàm Main
    public static void main(String[] args) {

        // Tạo ra giống 1 con chó giống maltese
        Dog maltese = new Dog();

        // Gán các đặc điểm cho con chó này
        maltese.breed = "Maltese";
        maltese.size = "Small";
        maltese.age = 2;
        maltese.color = "white";

        // In ra thông tin con chó maltese
        System.out.println(maltese.getInfo());
    }
}
 


Kết quả chúng ta nhận được sẽ là:



Breed is: Maltese Size is: Small Age is: 2 Color is: White
 


Lưu ý rằng, Chúng ta đã tạo class là Dog để mô tả các điểm chung về chó.


Tuy nhiên chưa gán giá trị cho nó.


Tiếp nữa là chúng ta tạo một phương thức để lấy thông tin giống chó.


Sau đó, từ class Dog, chúng ta tạo ra một giống chó mới là maltese và gán cho nó các đặc điểm đã khai báo trong class Dog.


5. Ví dụ về Class và Object: Tạo phương thức main() ở class khác


Trong ví dụ trên, chúng ta đang tạo ra phương thức main() bên trong cùng class.


Bây giờ, chúng ta tạo ra các Class và xác định phương thức main() ở trong class khác.


Đây là một cách làm tốt hơn so với cách trước:


Lưu tên file là Execute.java




// Tạo class Dog chịu trách nhiệm khai báo
// các biến và phương thức
class Dog {

    // Tạo các biến
    String breed;
    String size;
    int age;
    String color;

  
    // Phương thức lấy thông tin
    public String getInfo() {
        return ("Breed is: "+breed+" Size is: "+size+" Age is: "+age+" Color is: "+color);
    }
}

// Tạo class mới chỉ chịu trách nhiệm thực thi
public class Execute{
    public static void main(String[] args) {
        Dog maltese = new Dog();
        maltese.breed = "Maltese";
        maltese.size = "Small";
        maltese.age = 2;
        maltese.color = "white";
        System.out.println(maltese.getInfo());
    }
}
 


Kết quả chúng ta sẽ nhận được là tương tự như cách làm trên.



Breed is: Maltese Size is: Small Age is: 2 Color is: White
 


Tuy nhiên ở đây chúng ta đã áp dụng nguyên tắc S khi tạo class là: Mỗi class chỉ chịu một trách nhiệm duy nhất.


  • Class Dog: Chịu trách nhiệm mô hình hóa các giống chó
  • Class Execute: Chị trách nhiệm thực thi, tạo ra giống chó cụ thể

Bạn đã hiểu về Class và Object chưa?


Như vậy, chỉ qua ví dụ tạo ra các giống chó, mình đã giúp bạn hiểu cơ bản về Class trong Java là gì, Object mặt mũi như thế nào, Cách tạo Class trong Java...


  • Class trong Java là một thực thể quyết định làm thế nào một đối tượng sẽ cư xử và những đối tượng sẽ có.
  • Một Object trong Java là một phần trong đó bao gồm phương thức và thuộc tính để làm cho loại dữ liệu đó hữu ích.
  • Một hệ thống class học cho phép chương trình có thể xác định một class mới dựa trên class cha bằng cách sử dụng một kỹ thuật như inheritance, overriding and augmenting.


Chúng ta sẽ liên tục sử dụng Class và Object trong Lập trình Java hướng đối tượng, Java Web. Vì thế bạn sẽ hiểu chúng hơn qua các ví dụ sau này.


> Nếu muốn nắm thật vững về ngôn ngữ Java, hãy tham gia ngay Khóa học Java tại NIIT - ICT Hà Nội.
Bình luận Facebook
Cùng danh mục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!