Oop 定义特定的Matlab类结构

Oop 定义特定的Matlab类结构,oop,class,matlab,struct,Oop,Class,Matlab,Struct,我必须创建以下函数(到Matlab中的命令行): 这是我被赋予的任务,必须完成。我可以创建一些简单的函数,因为所有的游戏都有一些相似的特性,比如元量的计算等等。一般来说,OOP更结构化,我想在Matlab中尝试一下(OOP) 我可以创建句柄类,但我必须满足任务的要求。哪一个句柄类具有方法播放-我理解句柄类构造函数必须返回对象本身?我在寻找一个构造函数不一定返回构造函数的类——某种类型的静态类/函数 您将如何设计这个类?听起来您需要程序的接口看起来像函数调用,但在内部您希望使用OO编程。是这样吗

我必须创建以下函数(到Matlab中的命令行):

这是我被赋予的任务,必须完成。我可以创建一些简单的函数,因为所有的游戏都有一些相似的特性,比如元量的计算等等。一般来说,OOP更结构化,我想在Matlab中尝试一下(OOP)

我可以创建句柄类,但我必须满足任务的要求。哪一个句柄类具有方法播放-我理解句柄类构造函数必须返回对象本身?我在寻找一个构造函数不一定返回构造函数的类——某种类型的静态类/函数


您将如何设计这个类?

听起来您需要程序的接口看起来像函数调用,但在内部您希望使用OO编程。是这样吗

假设您需要如下所示的界面:

[wonAmount, noGuesses] = highLow(gambledAmount)
您可以在highLow函数中编写代码,该函数执行以下操作:

function [wonAmount, noGuesses] = highLow(gambledAmount)
game = highLowGame; %instantiate the game, and run it:
[wonAmount, noGuesses] = highLowGame.run(gambledAmount);
也可以使用静态方法:

function [wonAmount, noGuesses] = highLow(gambledAmount)
[wonAmount, noGuesses] = highLowGame.runGame(gambledAmount);

我假设highLowGame.m是这样的:

 classdef highLowGame < casinoGame
classdef highLowGame
没有很好的理由为此使用句柄类,除非您确实需要特定的调用语法/句柄行为


如果出于某种原因,你需要将这些都放在一个M文件中,那么我恐怕你运气不好。。。但这似乎是一个愚蠢的限制。

不确定这是否是您要寻找的,但是(私有类构造函数,使用静态方法返回单个实例)如何看待您的另一个链接问题,在我看来,如果您仅将类用于静态函数,您创建类的原因是错误的,在没有“状态”的情况下……是的。我希望在内部使用OOP,并确保我满足项目要求。明天我将和我的讲师讨论这个问题——他们有多严格。但是我想我会接受你的建议,使用一个静态方法,它是从函数调用的。感谢您的输入。是否有一个与PHP self::callFunction()等效的Matlab,这样我就不必在静态类中硬编码对象名称了?不太清楚您的意思;你能举个例子吗?这可能是一个合理的单独问题皮特:我现在明白你的意思了。在那边。
 classdef highLowGame < casinoGame