Day6 物件導向 介面

2022-09-15 09:30:14 字數 1986 閱讀 9267

1、抽象類

/*

抽象的特點:

1,抽象方法沒有方法體,必須由抽象關鍵字所修飾。

2,抽象方法一定存在於抽象類中,必須由抽象關鍵字所修飾。

3,抽象類不可以例項化。因為呼叫抽象方法沒意義。

4,子類必須覆蓋抽象類的所有抽象方法後,子類就可以例項化。否則該子類還是抽象類。

抽象類的常見問題:

1,抽象類一定是父類嗎?

是的,因為只有子類覆蓋了抽象類中的方法,才可以建立物件,去使用這些方法。

2,抽象類中有構造方法嗎?

有,因為父類的建構函式可以給子類物件初始化。

3,抽象類中一定有抽象方法嗎?

不一定。

其實抽象類和一般類都是用來描述事物的。都有具體的屬性和行為。

不同之處:

抽象類中可以定義抽象類方法。但是不能例項化。

一般類中不可以定義抽象方法,但是可以例項化。

沒有抽象方法的抽象類的出現,僅僅是不讓該類建立物件。

4,抽象關鍵字不可以和哪些關鍵字共存呢?

final:

private:

static:

2、介面

介面可以簡單的理解為是乙個特殊的抽象類。

abstract

class

absdemo

class

demo extends absdemo

void

show2(){}

}

介面的思想

1,介面是對外提供的規則。

2,介面的出現提高功能的擴充套件性。

3,介面的出現降低了耦合性。 解耦。

//用關鍵字inte***ce來定義介面。而且內中的成員就固定為幾種,而且修飾符是固定的。

//介面中的成員都是public修飾的。

特點:1,介面不可以例項化。

2,介面的子類必須覆蓋介面中所有的抽象方法後,該子類才可以例項化。否則該子類是抽象類。

抽象類其實負責的是乙個體系的基本功能。

介面負責的是額外的功能。

抽象類和介面的區別

1,抽象類和類之間存在的是繼承(is a)關係,但是只能單繼承。

介面和類之間存在的是實現(like a)關係,可以多實現。

2,

抽象類中是可以定義非抽象方法的,提供給子類直接使用。

介面中的方法都是抽象的,子類必須全部實現才可以使用。

單繼承。

class fu1

}

class fu2

}

class zi extends fu1,fu2//不允許。

3、練習

1

,多型的好處弊端,前提。

本類的引用可以指向本類的物件也可以指向其子類的物件。★★★★★

animal a = new

animal();

a = new

cat();

本型別的引用可以指向本型別的物件。

animal a = new

animal();

a = new

cat();

class

animal

class

cat extends animal

2,向上轉型,向下轉型什麼時候用,**舉例!

class

dog extends animal

}class

public

static

void

show(animal a)

}

day6物件導向(上)

理解 1,比如要吃飯,找了乙個保姆做飯 物件 2,保姆就是乙個物件,用做飯的技能 方法 做飯,你說你想吃啥 引數 3,返回給你你說的飯 4,吃面向過程 強調每乙個功能的步驟。物件導向 強調的是物件,然後由物件去呼叫功能 物件 就是該類事物的具體體現 位置 類中,方法外 初始化值 成員變數有初始化值 ...

day 6 物件導向的思想

物件導向的思想 特點是是一種更符合我們思想習慣的思想 懶人思想 可以將複雜的事情簡單化 將我們從執行者變成了指揮者 角色發生了轉換 物件導向的特徵 封裝 encapsulation 繼承 inheritance 多型 polymorphism 建立物件使用。裡面有成員變數和區域性變數的區分。a 在類...

上課記錄 Day6

html css和bootstrap框架的關係是什麼 下列 布局合理嗎?不合理的話,應該怎麼改進 不合理 名字跟暱稱應該各分為一塊 名字 暱稱 絕對路徑和相對路徑的差別是什麼 col md 6 col xs 6這兩個類分別表示什麼含義 col md push 6 col md offset 6 co...