真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java系列-面向對象設計-創(chuàng)新互聯(lián)

面向對象設計

面向對象的設計思想是當今軟件設計領域應用最為廣泛的設計思想,它解決了面向過程的設計無法適應大規(guī)模軟件開發(fā)的問題,可以有效的將問題進行劃分和隔離。

成都創(chuàng)新互聯(lián)公司成都網(wǎng)站建設按需規(guī)劃網(wǎng)站,是成都網(wǎng)站建設公司,為成都PVC花箱提供網(wǎng)站建設服務,有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設計服務:原型圖制作、網(wǎng)站創(chuàng)意設計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站設計熱線:18982081108基本特點
  • 封裝;
  • 繼承;
  • 多態(tài);
設計原則
  • 開閉原則:對擴展開發(fā),對修改關閉;
  • 里式替換原則:父類出現(xiàn)的地方,可以直接用子類替換;
  • 依賴倒置原則:面向接口、面向父類編程;
  • 單一職責原則;
  • 接口隔離原則;
  • 最少知道原則;
  • 合成復用原則:多用組合、聚合,少用繼承;
類定義

//declear package
package com.test;
public class Employee {
    //declear field
    private String name;
    private int age;

    //constructor
    public Employee(String name, int age) {
        this.name = name;
        this.age = age;
    }

    //method 
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

包是java中的一種低級封裝模式,通過包聲明就可以把一個類放在某個包下,從而實現(xiàn)類的第一層隔離。在聲明類的時候葉可以不指定包聲明,但通常不推薦這么做。

在java中使用包的場景有兩個,一個是將當前類聲明到某一個包下,另外就是導入其他包中的類,而在導入類時又分為類導入和靜態(tài)導入。

//在頭部導入
import java.utils.Date;
//在使用時導入
java.utils.Date date = new java.utils.Date();

//靜態(tài)導入,可以導入類中的靜態(tài)方法,使用更方便
import static java.lang.System.*;

類用class關鍵字來聲明,一個類的名稱可以和所在文件名稱不同,但一般不會這么做,類名由字母、數(shù)字、下劃線、$組成,但不能以數(shù)字開頭。

成員變量是類對數(shù)據(jù)的封裝,方法是類對外提供的行為或能力,即一個功能點,在方法中往往包含了對數(shù)據(jù)的數(shù)據(jù)過程,類不應該直接將內(nèi)部數(shù)據(jù)和數(shù)據(jù)處理過程暴露給使用者。

類中如果定義了多個構造函數(shù),可以通過this關鍵字進行互相調用。成員方法也可以通過重載的方式來實現(xiàn)擴展,所謂重載就是方法名稱相同,但方法參數(shù)列表不同的方法(參數(shù)類型、個數(shù)、順序不同)。

變量和方法還可以通過static聲明為靜態(tài)的,靜態(tài)變量一般會作為常量存在,例如:

public static final int MAX_VAL = 1000;

而靜態(tài)方法一般用來聲明工具方法,例如Collections和Arrays中提供的工具方法都是靜態(tài)方法。

繼承

public class Person {
    protected String name;
    protected int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void sayHello() {
        System.out.println("hello," + name);
    }
}

//declear subclass
public class Employee extends Person {
    private String no;
    public Employee(String name, int age, String no) {
        //invoke super class constructor
        super(name, age);
        this.no = no;
    }
    
    //override super class method
    public void sayHello() {
        System.out.println(no + ", hello, " + name);
    }
}

public class Main {
    public static void main(String[] args) {
        //
        Person person = new Employee();
    }
}

如果希望類不會被繼承或方法不會被重寫,可以將類或方法聲明為final的,java類庫中的一些核心類為了保證代碼的安全性,都被聲明為了final,比如String。

繼承是實現(xiàn)多態(tài)的基礎之一,在使用多態(tài)時就會涉及到強制類型轉換,這種轉換即可以向下轉也可以向上轉。

Person person = new Employee();
Employee emp1 = (Employee)person;
Person person2 = (Person)emp1;

在使用繼承的模式構建軟件系統(tǒng)時,抽象類是最常用的模式,抽象類就是具有抽象方法的類,一般用抽象類類定義程序的骨架,然后用子類加多態(tài)的方式來動態(tài)的擴展軟件系統(tǒng),比如常用的Spring開發(fā)框架中就使用的大量的抽象類來保證軟件的可擴展性。

在java中,Object是所有類的默認父類

在Object中提供了與等待/通知、對象析構、克隆、等值判斷、打印等方法,其中equals/hashCode和toString是在日常開發(fā)中會經(jīng)常涉及的三個方法。

  • equals:比較兩個對象是否相等,默認比較對象的內(nèi)存地址;
  • hashCode:返回對象的哈希值,默認調用native方法;
  • toString:返回對象的字符串打印值,默認打印對象地址;?
接口

接口在java中一般用來定義行為,如果某個對象想要具有某個接口的行為,就直接實現(xiàn)這個接口。接口中的方法是public abstract的,成員變量是public static final 的,在使用時要注意。

另外在java8中引入了接口方法的默認實現(xiàn),即可以為接口方法提供默認的實現(xiàn)邏輯。

public interface Walk {
    default void walk() {
        System.out.println("walk");
    }
}

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


標題名稱:java系列-面向對象設計-創(chuàng)新互聯(lián)
文章鏈接:http://weahome.cn/article/dgihss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部