Home / Programming / Programming Paradigms / Object-Oriented Programming / Phương thức static (class) và instance

Phương thức static (class) và instance

Print Friendly, PDF & Email

Tiếp theo bài giới thiệu về Overloading và Overriding, tôi muốn tóm lại sự khác biệt cũng như điểm lưu ý của các phương thức lớp (phương thức tĩnh) và phương thức instance. Đây là hai kiểu phương thức sử dụng phổ biến trong lập trình hướng đối tượng

Phương thức lớp (tĩnh) (Static Methods): là phương thức được gọi thông qua tên lớp. Trong quá trình cài đặt phương thức chúng ta dùng từ khóa static.

Xem ví dụ:

class MyUtils {
    . . .
    //================================================= mean
    public static double mean(int[] p) {
        int sum = 0;  // sum of all the elements
        for (int i=0; i<p.length; i++) {
            sum += p[i];
        return ((double)sum) / p.length;
    }//endmethod mean
    . . .

Muốn gọi phương thức này bên trong lớp mô tả nó, chúng ta chỉ cần sử dụng tên phương thức: mean(). Tuy nhiên, nếu gọi phương thức bên ngoài lớp chúng ta phải kèm theo tên lớp; nghĩa là: MyUtils.mean().

Phương thức instance: kết hợp với một object và các biến instance của object đó.

Ví dụ:

// File   : dialog/capitalize/Capitalize2.java
// Purpose: Capitalize first letter of each name.  Declare with first use.
// Author : Fred Swartz - placed in public domain.
// Date   : 30 Mar 2006

import javax.swing.*;

public class Capitalize2 {

    public static void main(String[] args) {
        //.. Input a word
        String inputWord = JOptionPane.showInputDialog(null, "Enter a word");

        //.. Process - Separate word into parts, change case, put together.
        String firstLetter = inputWord.substring(0,1);  // Get first letter
        String remainder   = inputWord.substring(1);    // Get remainder of word.
        String capitalized = firstLetter.toUpperCase() + remainder.toLowerCase();

        //.. Output the result.
        JOptionPane.showMessageDialog(null, capitalized);

Các phương thức: substring, toUpperCase, toLowerCase là các phương thức instance. Các phương thức showInputDialog, showMessageDialog là các phương thức lớp.

About Nguyen Vu Ngoc Tung

I love making new professional acquaintances. Don't hesitate to contact me via nguyenvungoctung@gmail.com if you want to talk about information technology, education, and research on complex networks analysis (i.e., metabolic networks analysis), data analysis, and applications of graph theory. Specialties: researching and proposing innovative business approaches to organizations, evaluating and consulting about usability engineering, training and employee development, web technologies, software architecture.

Leave a Reply

Your email address will not be published. Required fields are marked *




This site uses Akismet to reduce spam. Learn how your comment data is processed.