第二章 MATLAB面對物件程式設計入門

2021-10-25 08:50:35 字數 2426 閱讀 2205

>> a=7;

>> b=

;>> c=

rand(4

,4);

>> whos

name size bytes class attributes

a 1x1 8

double

b 1x5 10

char

c 4x4 128

double

classdef point2d < handle

properties %屬性 block 開始

%......

end %屬性 block 結束

methods %方法 block 開始

%......

end %方法 block 結束

end

classdef point2d < handle

properties %屬性 block 開始xy

end %屬性 block 結束

methods %方法 block 開始

function obj =

point2d

(x0,y0)

%point2d 類的建構函式

obj.x = x0;

obj.y = y0;

endfunction normalize

(obj)

%point2d 座標的歸一化方法

r =sqrt

(obj.x^

2+ obj.y^2)

; obj.x = obj.x/r;

obj.y = obj.y/r;

endend %方法 block 結束

end

類的第乙個方法是構造方法(constructor),與class同名,負責產生並且返回(建立)point2d(類)的物件,通常它還可以用來初始化物件的屬性,即給屬性賦初值。

建立類的方法:直接呼叫類的constructor

>> p1 =

point2d

(1.0

,1.0);

>> p2 =

point2d

(2.0

,2.5

);

matlab中上述方法定義的屬性對型別沒有限制,所以屬性可以是double標量,double矩陣,gui物件

classdef view < handle

properties

hfig

hedit

endmethods

function obj =

view()

%兩個屬性都是物件

properties %屬性 block 開始

x =0;

y =0;

end %屬性 block 結束

classdef point2d < handle

properties %屬性 block 開始

x =cos(pi/12)

; y =

sin(pi/12)

; end %屬性 block 結束

面對物件程式設計

重要的是什麼,是概念的理解。類是什麼,物件是什麼,然後封裝是什麼,繼承是什麼,多型是什麼。類是抽象的,高度概括的物件集合體。當然亂寫的類什麼都不是,轄七八糟往乙個類裡塞。這也是不合理的。這是學到目前為止,最為有用的一節課。非常的有用。就是基本概念的講解。概念的理解多少,決定你走多遠。class st...

面對物件程式設計4

issubclass and isinstance issubclass 用於判斷類物件與類物件之間的關係 isinstance 用於判斷例項物件與類物件之間的關係 issubclass a,b,c,d 判斷後者是否存在a的父類 isinstance 接受兩個實參 第乙個實參是例項物件 第二個實參是...

面對物件程式設計2 繼承

oop語言的特徵 繼承 封裝 多型 1,封裝 通過private關鍵字來修飾成員方法或屬性的一種行為。意義 1,類的實現者 2,類的呼叫者,方便,只需要呼叫就好了。2,繼承 直接上 package com.extendseg created with intellij idea.descriptio...