MATLAB 面向对象编程 APP Designer基础


类的基本组成


  1. 定义一个类 < 表示可继承
  2. 创建实例化对象
  3. 添加属性(公有或私有属性)
  4. 构造方法,初始化
  5. 设置函数和获取函数
  6. 继承
  7. 多态(同一个函数传递不同的对象)

基本模板,点击MATLAB中新建+类

classdef untitled %驼峰式命名 CamelCase 定义一个类
    %UNTITLED 此处显示有关此类的摘要
    %   此处显示详细说明
    
    properties %不加(Access = public)也默认为公有属性
        Property1
    end
    
    methods(Access = public) %不加(Access = public)也默认为公有方法
        function obj = untitled(inputArg1,inputArg2) %方法中用来定义函数
            %UNTITLED 构造此类的实例
            %   此处显示详细说明
            obj.Property1 = inputArg1 + inputArg2;
        end
        
        function 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('喵喵~');
        end
        
        function gaga(obj)
            disp(['我是', obj.name, '我是一只乌鸦~嘎嘎']);
            disp('嘎嘎~');
        end    
            
        function 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
    end
    
    properties(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来进行开发
在这里插入图片描述
回调用于链接代码中类的功能与图形界面设计中的组件。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹅毛在路上了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值