CoffeeScript 如何继承属性?

比如我有一个大类
classShapes
defaultFill='#9999D2'
defaultStroke='#2727A6'
overFill='#FFF076'
overStroke='#ED1818'
然后有一个继承它的类
classDotsextendsShapes
constructor:->
@defaultFill=defaultFill
我发现这样写是错误的,那应该怎么去使用父类的属性呢?谢谢
慕后森
浏览 260回答 2
2回答

慕的地8271018

@huandu的方法很好,但是解决不了题主的问题,因为基类写的有点问题。可以看下下面这段代码编译出来的结果:classShapesdefaultFill='#9999D2'@defaultStroke='#2727A6'overFill:'#FFF076'@overStroke:'#ED1818'-->Shapes=(function(){vardefaultFill;functionShapes(){}defaultFill='#9999D2';Shapes.defaultStroke='#2727A6';Shapes.prototype.overFill='#FFF076';Shapes.overStroke='#ED1818';returnShapes;})();因此,题主基类中的defaultFill声明其实是在一个闭包中,无法在子类中访问到。应该写成:classShapes@defaultFill='#9999D2'classDotsextendsShapesconstructor:->@defaultFill=@constructor.defaultFill
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript