关于协议:
https://blog.csdn.net/ZQ_KING/article/details/80320080
关于js继承封装原型:
http://www.ruanyifeng.com/blog/2011/06/designing_ideas_of_inheritance_mechanism_in_javascript.html
http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html
原文:https://www.cnblogs.com/mobaiyu/p/11275433.html