MATLAB 面向对象编程 APP Designer基础
类的基本组成
- 定义一个类 < 表示可继承
- 创建实例化对象
- 添加属性(公有或私有属性)
- 构造方法,初始化
- 设置函数和获取函数
- 继承
- 多态(同一个函数传递不同的对象)
classdef untitled %驼峰式命名 CamelCase 定义一个类
%UNTITLED 此处显示有关此类的摘要
%此处显示详细说明properties %不加(Access = public)也默认为公有属性
Property1
endmethods(Access = public) %不加(Access = public)也默认为公有方法
function obj = untitled(inputArg1,inputArg2) %方法中用来定义函数
%UNTITLED 构造此类的实例
%此处显示详细说明
obj.Property1 = inputArg1 + inputArg2;
endfunction outputArg = method1(obj,inputArg)
%METHOD1 此处显示有关此方法的摘要
%此处显示详细说明
outputArg = obj.Property1 + inputArg;
end
end
end
详细例程:
classdef Cat < handle%('< handle' 表示继承这个类)
%成员属性
properties
name
age
type
end%定义成员方法
methods
%构造方法,用于初始化
function obj = Cat(name, age, type)
%U构造此类的实例化对象
obj.name = name;
obj.age = age;
obj.type = type;
end%成员方法
function meow(obj) %obj为一个默认参数,必填,用于描述对象
disp(['我叫', obj.name, '喵喵']);
disp('喵喵~');
endfunction gaga(obj)
disp(['我是', obj.name, '我是一只乌鸦~嘎嘎']);
disp('嘎嘎~');
endfunction change_name(obj, new_name)%要想实现此功能,类的定义中必须添加'< handle',否则无法修改
obj.name = new_name;
end
end
end
命令行:
>> cat = Cat('猪王',2,'橘猫')
cat =
Cat - 属性:name: '猪王'
age: 2
type: '橘猫'
>> cat.name
ans =
'猪王'
>> cat.age=3
cat =
Cat - 属性:name: '猪王'
age: 3
type: '橘猫'
>> cat.meow()
我叫猪王喵喵
喵喵~
>> change_name(cat, '大猫')
>> cat.name
ans =
'大猫'
>> cat
cat =
Cat - 属性:name: '大猫'
age: 3
type: '橘猫'
>> bird = Cat('小黑','4','乌鸦')
bird =
Cat - 属性:name: '小黑'
age: '4'
type: '乌鸦'
>> bird.gaga()
我是小黑我是一只乌鸦~嘎嘎
嘎嘎~
如果将成员属性改为私有,则外部无法进行访问
%成员属性
properties(Access = private)
age
endproperties(Access = public)
name
type
end
>> cat
cat =
Cat - 属性:name: '大猫'
type: '橘猫'
>> bird
bird =
Cat - 属性:name: '小黑'
type: '乌鸦'
面向对象编程(Object Oriented Programming,简称OOP) 在Python中,一切皆对象。
从本质上说对象是一组数据以及操作这些数据的函数。数字、字符串、列表、字典和函数都是对象。
要创建新型对象,必须创建类。从本质上说,类就是设计蓝图,设计模板,用于创建特定类型的对象。
文章图片
继承是一个重要的OOP功能:创建新的类时,可让它继承已有类的数据和函数,避免了代码的重复编写。
在MATLAB APP Designer中也是通过OOP来进行开发
文章图片
回调用于链接代码中类的功能与图形界面设计中的组件。
推荐阅读
- 数组常用方法一
- jQuery插件
- iOS面试题--基础
- 口红选得好,对象不愁找......
- java静态代理模式
- Python-类和对象
- hough变换检测的matlab程序
- JavaScript|JavaScript: BOM对象 和 DOM 对象的增删改查
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- 1-Java基础知识