Chuyển đến nội dung chính

Bài 5: Lập trình hướng đối tượng trong java

Java là một ngôn ngữ lập trình hướng đối tượng vì vậy nó cũng hỗ trợ các đặc tính của lập trình hướng đối tượng:

  • Đa hình (Polymorphism)
  • Thừa kế (Inheritance)
  • Đóng gói (Encapsulation)
  • Trừu tượng (Abstraction)

Đối tượng trong lập trình Java:

Nếu chúng ta xem xét thực tế chúng ta có thể tìm thấy nhiều đồ vật xung quanh chúng ta: ô tô, chó, con người, v.v… Tất cả các đối tượng này đều có thuộc tính và hành vi.

Nếu chúng ta xem xét một con chó, thuộc tính của nó sẽ là – tên, giống, màu sắc, và các hành vi là: sủa, vẫy, chạy, cắn…Nếu bạn so sánh các đối tượng trong phần mềm với một đối tượng trong thế giới thực, chúng sẽ có đặc điểm rất giống nhau: thuộc tính đối tượng trong phần mềm được lưu trữ trong trường (field) và hành vi được lưu trữ trong phương thức (method).

Class: Chúng ta có thể xem lớp như một khuôn mẫu (template) của đối tượng (Object). Trong đó bao gồm dữ liệu của đối tượng (fields hay properties) và các phương thức(methods) tác động lên thành phần dữ liệu đó gọi là các phương thức của lớp.

Ví dụ:

public class Student{
   String name;
   int id;
   
   void registerCourse(){
   }
    
   void removeCourse(){
   }


}

Cách khai báo:

class<ClassName>
{
<kiểudữ liệu> <field_1>;
<kiểudữ liệu> <field_2>;
constructor
method_1
method_2
}

  • class: là từ khóa để khai báo lớp trong Java
  • ClassName: là tên chúng ta đặt cho lớp (quy tắc đặt tên: viết hoa mỗi chữ cái đầu)
  • field_1, field_2: các thuộc tính, các biến, hay các thành phần dữ liệu của lớp (quy tắc đặt tên: chữ cái đầu tiên viết thường, các chữ cái đầu tiên tiếp theo viết hoa).
  • constructor: hàm dùng để khởi tạo đối tượng lớp.
  • method_1, method_2: là các phương thức thể hiện các thao tác xử lý, tác động lên các thành phần dữ liệu của lớp.

Constructor

Mỗi lớp thường có một hàm constructor. Nếu chúng ta không khai báo hàm này rõ ràng trình biên dịch Java sẽ tạo một constructor mặc định cho lớp đó.

Mỗi lần một đối tượng mới được khởi tạo, ít nhất một constructor sẽ được gọi. Nguyên tắc chính của constructor là chúng cần phải có cùng tên với lớp. Một lớp có thể có nhiều hơn một constructor.

Ví dụ:

public class Student{
  public String name;


   public Student(){
   }


   public Student(String name){
      this.name = name;
   }
}

Trong ví dụ trên từ khóa this nhằm chỉ đến chính lớp đang được tham chiếu đến. this.name sẽ tham chiếu đến thuộc tính name của class Student.

Khởi tạo đối tượng (Instance): trong Java để khởi tạo đối tượng chúng ta sử dụng từ khóa new

public class Student{
  public String name;


   public Student(String name){
      this.name = name;
   }
   public static void main(String []args){
     Student s = new Student("Mark");
     System.out.println(s.name);
//ket qua in ra Mark
   }
}

 Cách thức truy cập biến và phương thức:

/* Khởi tạo đối tượng */

Object ObjectReference = new Constructor();

/* Gọi biến */

ObjectReference.variableName;

/* Gọi phương thức */

ObjectReference.MethodName();

Case Study

import java.io.*;
public class Employee{
   String name;
   int age;
   String designation;
   double salary;
     
   // This is the constructor of the class Employee
   public Employee(String name){
      this.name = name;
   }
   // Assign the age of the Employee  to the variable age.
   public void empAge(int empAge){
      age =  empAge;
   }
   /* Assign the designation to the variable designation.*/
   public void empDesignation(String empDesig){
      designation = empDesig;
   }
   /* Assign the salary to the variable salary.*/
   public void empSalary(double empSalary){
      salary = empSalary;
   }
   /* Print the Employee details */
   public void printEmployee(){
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}
import java.io.*;
public class EmployeeTest{


   public static void main(String args[]){
      /* Create two objects using constructor */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");


      // Invoking methods for each object created
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();


      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

Kết quả in ra:

Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0



source https://techacadamy.com/lap-trinh-huong-doi-tuong-trong-java/

Nhận xét

Bài đăng phổ biến từ blog này

Bài 2: Chương trình Java đầu tiên ?

Trong bài học này chúng ta sẽ viết một chương trình in ra màn hình dòng chữ “Hello World” – bài học nhập môn đối hầu hết các ngôn ngữ lập trình. Đầu tiên chúng ta sẽ tiến hành viết mã và biên dịch thủ công để hiểu cơ chế sau đó sẽ chuyển sang dùng Netbeans IDE để chạy chương trình. Bước 1 : Thiết lập môi trường Để viết chương trình Java đầu tiên bạn sẽ cần đến: Java SE Development Kit 8 (JDK 8) Bạn có thể tải về phiên bản Windows tại đây . (Hãy chắc chắn rằng bạn tải về là JDK chứ  không phải là JRE nhé). Một trình soạn thảo văn bản (text editor): bạn có thể sử dụng notepad hoặc notepad++. Bước 2 : Bạn mở Notepad trong Windows lên và gõ đoạn code sau vào: class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // Display the string. } } Ứng dụng này chỉ đơn giản in ra màn hình dòng chữ Hello World. Lưu lại đoạn code trên với tên file là HelloWorldApp.java Trong ví dụ trên chúng ta thấy cách ...

Bài 7: khai báo mảng trong java

Mảng là tập hợp nhiều phần tử có cùng tên, cùng kiểu dữ liệu và mỗi phần tử trong mảng được truy xuất thông qua chỉ số của nó trong mảng. Chúng ta sử dụng mảng trong trường hợp muốn lưu trữ nhiều biến tương tự nhau chẳng hạn như danh sách các sinh viên trong một lớp. Cách khai báo mảng: <kiểu dữ liệu> <tên mảng>[]; hoặc <kiểu dữ liệu>[] <tên mảng>; Ví dụ: String danhSachSinhVien[]; hoặc String[] danhSachSinhVien; Khai báo cùng lúc nhiều mảng có kiểu dữ liệu giống nhau. int[] mang1, mang2, mang3; Khởi tạo mảng Không giống như trong C, C++ kích thước mảng trong Java được xác định khi khai báo. Để cấp phát bộ nhớ hay nói cách khác là kích thước cho mảng trong Java chúng ta cần dùng từ khóa  new . Chẳng hạn để cấp phát vùng nhớ cho mảng gồm 10 số thực trong Java chúng ta khai báo như sau: double mangSoThuc = new double[10]; Chúng ta có thể khởi tạo giá trị ban đầu cho các phần tử của mảng khi nó được khai báo. Ví dụ: int mangSoNguyen[] = {1, 2...

Bài 3: Hướng dẫn sử dụng Netbeans trong lập trình Java

Trong bài học này chúng ta sẽ học cách sử dụng Netbeans IDE thông qua ví dụ ở bài số 2. Bạn có thể cài đặt Netbeans theo 2 cách: download JDK tích hợp Netbeans vài cài 1 lần (phiên bản Netbeans này chỉ hỗ trợ ngôn ngữ Java) hoặc download JDK riêng rồi sau đó chọn lựa phiên bản Netbeans phù hợp (có thể sử dụng để lập trình HTML5 & PHP, C/C++…). Trong trường hợp này tôi chọn cách thứ nhất. Chúng ta tiến hành làm theo trình tự sau: Bước 1: Download Netbeans tại:   http://www.oracle.com/technetwork/java/javase/downloads/index.html . Bạn nhớ chọn Netbeans With JDK. Bước 2: Tiến hành cài đặt chương trình như các chương trình thông thường khác. Bước 3: Mở Netbeans sau đó chọn File -> New Project Bước 4: Chọn Java Application Bước 5: Điền tên Project Name và chọn đường dẫn lưu ứng dụng. Lưu ý là tên class main phải trùng với tên class chúng ta khai báo trong mã nguồn. Bước 6: Xóa hết mã có sẵn trong class HelloWorldApp và chèn đoạn mã trong ví dụ ở  bài số 2 ...