第三章 物件導向程式設計

2021-09-30 20:16:31 字數 879 閱讀 2451

一、go語言物件導向的特點:

不支援繼承、虛函式、建構函式、析構函式、隱藏的this指標;

整個型別系統通過介面串聯;

非侵入式介面;

二、型別系統

含義:指乙個語言的型別體系結構,包含以下基本內容:

基礎型別,如:byte, int, float32等;

復合型別,如:陣列,結構體,指標等;

可以指向任意物件的any型別;

值語義和引用語義;

物件導向,即所有具備物件導向特徵(比如成員方法)的型別;

介面;為型別新增方法:

可以給任何型別新增方法(指標除外);

傳遞給方法的物件是顯示傳遞的(不像python中的self);

傳遞給方法的物件可以是值型別,也可以是引用型別;

http包中關於http頭部資訊的header型別:

基礎型別為map;

為map物件起了乙個別名,並新增若干成員方法後,稱為了header型別;

值語義和引用語義:

值型別包括:

基礎型別:byte, int, bool, float32, string等;

復合型別:陣列,結構體,指標等;

引用型別:

陣列切片;

type slice struct = ...

switch v := iv.(type)

參考:golang inte***ce介面全面理解(一):

golang inte***ce介面全面理解(二):

請注意:「指標vs值型別實現介面」中的「 任何指標變數或者可以獲取指標的變數呼叫指標方法都是合法的。但是儲存在介面中的值是無法定址的,因此編譯器無法自動獲取指標位址引發panic 」。

評:為什麼我不喜歡go語言式的介面:

物件導向第三章 多型

多型 多型 是具有表現多種形態的能力的特徵。實現多型的三個必備條件 1.繼承 2.要有重寫 3.父類引用指向子類物件 實現多型的兩種方式 1.使用父類作為方法形參實現多型 2.使用父類作為方法返回值實現多型 多型的好處 通過多型可以減少類中的 量,可以提高 的可擴充套件性和可維護性。繼承是多型的基礎...

第三章 物件導向(上)

1 請按照以下要求設計乙個學生類student,並進行測試。要求如下 student類中包含姓名 成績兩個屬性。分別給這兩個屬性定義兩個方法,乙個方法用於設定值,另乙個方法用於獲取值。student類中定義乙個無參的構造方法和乙個接收兩個引數的構造方法,兩個引數分別為姓名和成績屬性賦值。在測試類中建...

Go語言程式設計第三章物件導向程式設計

第三章 物件導向程式設計 1 go語言中,你可以給任意型別 包括內建型別,但不包含指標型別 新增相應的方法,如下 type integer int func a integer less b integer bool func main 2 go語言中沒有隱藏的this指標,即方法施加的物件為顯示傳...