Matlab创建类

一、步骤

step1:定义类名,继承【handle】,否则类内方法传参会失败。
step2:定义属性【properties】
step3:定义方法【methods】。首先要定义构造函数,构造函数名与类名一致。然后定义其他函                数,函数输入参数中需要带有【obj】关键字


二、注意事项

1.类名与文件名一致,按照通用习惯,类名首字母大写。如此处的【MyClass】
2.一定要继承handle句柄类,其作用类似指针;否则函数和属性间传递值会失败。
3.函数名和函数体之间要缩进,函数体的【end】关键字不可省略。
4.properties的更多设置可通过以下命令参考:输入【doc properties】并搜索【属性特性】查看

三、代码示例

文件名为:Myclass.m

% MyClass.m
classdef MyClass < handle

    %% properties
    properties(Access=public)
        % public:类内、类外、子类皆可访问
        name;
        gendar;
    end
    
    properties(Access=protected)
        % proteced:类内及子类可访问
        age;
        height;
        weight;
    end
    
    properties(Access=private)
        % private:只能类内访问
    end
    
    properties(Constant)
        % 常数,不可修改
        pai = pi;
    end
    properties(Dependent)
        % 不怎么了解
    end
    
    %% methods
    % 所有方法需要在【methods】构造体内,同时注意缩进。
    methods
        function obj = MyClass(name, gendar, age, height, weight)
            % 构造函数。函数名与类名一致;返回值obj作为其他函数的对象传入。
            obj.name = name;
            obj.gendar = gendar;
            obj.age = age;
            obj.height = height;
            obj.weight = weight;
        end
        
        function info = print_info(obj, else_info)
            disp('info of the person is followed:');
            disp(['name: ', obj.name]);
            disp(['gendar: ', obj.gendar]);
            disp(['addition info: ', else_info]);
        end
        
        function update_age(obj, new_age)
            obj.age = new_age;
        end
 
    end
end
    
    
    

四、调用过程

1、把类文件放在调用文件同目录,然后调用即可。

% test.m

clc; clear; close all;

t = MyClass('Tom', 'male', 20, 179, 75);
t.print_info('hey');

% 运行结果
% info of the person is followed:
% name: Tom
% gendar: male
% addition info: hey

%%————————————下面的是凑字数内容,不需要看—————————————%%

一、步骤

step1:定义类名,继承【handle】,否则类内方法传参会失败。
step2:定义属性【properties】
step3:定义方法【methods】。首先要定义构造函数,构造函数名与类名一致。然后定义其他函                数,函数输入参数中需要带有【obj】关键字


二、注意事项

1.类名与文件名一致,按照通用习惯,类名首字母大写。如此处的【MyClass】
2.一定要继承handle句柄类,其作用类似指针;否则函数和属性间传递值会失败。
3.函数名和函数体之间要缩进,函数体的【end】关键字不可省略。
4.properties的更多设置可通过以下命令参考:输入【doc properties】并搜索【属性特性】查看

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值