查看单个帖子
旧 2019-12-02, 21:02   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 如何正确继承tcp类?不同的问题是我的第一个问题

几个月前,我问这个问题是另一个问题。

在我的第一个问题中,我创建了一个作为tcpip-classobject的类属性,最后效果很好。

在实现了许多方法之后,我决定通过实现tcpip类中的BytesAvailableFunction来改进代码。从此开始,我认为继承tcpip类而不是创建属性对象是一个不错的决定。

所以这是目前的代码:

 classdef wsg50 < tcpip methods %Constructor with SuperClassConstructor function obj = wsg50(varargin) defaultHost = 'localhost' % The decoding of varargin follows obj = obj@tcpip(host,port) obj.conf_conn(); end %Configure Connection method function conf_conn(obj) obj.OutputBufferSize = 3000; end end 

如果我在构造函数中调用方法conf_conn ,我将得到ErrorMsg:

 "Unrecognized property 'OutputBufferSize' for class 'wsg50'." 

如果我在构造函数方法之外调用该方法。构造函数被再次调用,我得到了ErrorMsg:

 "The name 'conf_conn' is not an accessible property for an instance of class 'TCPIP objects'." 

但是,如果我直接调用超类的Property:

 gripper.OutputBuffersize = 3000 

它工作正常,我可以更改我的属性。

是否可以使用子类方法从超类tcpip更改属性?





更多&回答...
poster 当前离线   回复时引用此帖