java中面向對象的理解


面對對象就是:
把數據及對數據的操作方法放在一起,作為一個相互依存的整體——對象。對同類對象抽象出其共性,形成類。類中的大多數數據,只能用本類的方法進行處理。類通過一個簡單的外部接口與外界發生關系,對象與對象之間通過消息進行通信。程序流程由用戶在使用中決定。
對象即為人對各種具體物體抽象后的一個概念,人們每天都要接觸各種各樣的對象,如手機就是一個對象。
在面向對象的編程方式中,對象擁有多種特性,如手機有高度、寬度、厚度、顏色、重量等特性,這些特性被稱為對象的屬性。對象還有很多功能,如手機可以聽音樂、打電話、發信息、看電影等工作功能,這些功能被稱為對象的方法,實際上這些方法是一種函數。而對象又不是孤立的,是有父子關系的,如手機屬於電子產品,電子產品屬於物體等,這種父子關系稱為對象的繼承性。在編程中,把所有的問題看做對象,以人的思維方式解決。這種方式非常人性化,對象實際上就是一組數據的集合,並且數據都已經命名。這些數據根據就是對象的屬性,可以被程序訪問。對象還包括很多函數,這些函數被稱為對象的方法,也可以被程序訪問。不過在外部訪問對象內的屬性或方法,必須先引用對象,然后用點號訪問對象的屬性和方法
面向過程就是:
自頂向下順序執行,逐步求精;其程序結構是按功能划分為若干個基本模塊,這些模塊形成一個樹狀結構;各模塊之間的關系盡可能簡單,在功能上相對獨立;每一模塊內部均是由順序、選擇和循環三種基本結構組成;其模塊化實現的具體方法是使用子程序。程序流程在寫程序時就已決定。

面向對象中的類,構造方法,成員變量,成員方法的例子:

package test;

public class Gouzao {

    public static void main(String[] args){
        Phone p = new Phone("華為",2000,"中國",113);//若此處不傳值,那么調用類中的構造方法也不應該有形參,
        p.showPhone();
        p.panduan();
    }


}

class Phone{
    public String name;//品牌   //成員變量
    public int price;//價格
    public String from;//產地
    public int ppi;//分辨率
    
    public Phone(String n,int p1,String f,int p2){//構造方法,與類名一致,不用return
        name = n;
        price = p1;
        from = f;
        ppi = p2;
        
    }
    public int panduan(){ //如果返回值類型不是void,那么是需要ruturn出返回值的
        if(ppi<200){
            System.out.println("分辨率不大行");
        }
        return ppi;
    }
    
    public void showPhone(){//成員方法,用來實現各種功能
        System.out.println("型號:"+name);
        System.out.println("價格:"+price);
        System.out.println("產地:"+from);
        System.out.println("分辨率:"+ppi);
    }
} 

 面向對象思想做一個計算器

package test;

public class Cal {
    public static void main(String[] args){
        Calculater cals = new Calculater();//初始化這個類
        double result = cals.yunsuan(10,15,"+");
        System.out.println(result);
    }
}

class Calculater{ //創建這個類
    public String name;//類里定義的一個屬性不需要初始化
    
    public double yunsuan(double a,double b,String c){//類的一個方法
        double d = 0;//方法里定義一個變量需要初始化
        switch(c){
            case "+":
                d = a+b;
                break;
            case "-":
                d = a-b;
                break;
            case "*":
                d = a*b;
                break;
            case "/":
                d = a/b;
                break;
        }
        return d;        
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM