javascript原型继承圣杯模式
2024-09-04 18:01:19
javascript纯面向对象开发需要使用到的一个模式,来对对象之间原型继承做中间层代理避免重复继承与代码杂乱
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script>
//父类
function Teacher(){}
Teacher.prototype.name = "teacher";
//子类
function Student(){}
Student.prototype.age = 18;
//原型继承调用
inherit(Student,Teacher); let s = new Student();
let t = new Teacher(); /*
*
圣杯模式原型继承封装
@param Target 需要继承的子类
@param Origin 被继承的父类
*/
function inherit(Target,Origin){
//创建中间层构造函数
function Buffer(){}
//把被继承父类的原型付给中间层构造函数
Buffer.prototype = Origin.prototype;
//把实例化的中间层构造函数生成的对象付给需要继承的目标类
Target.prototype = new Buffer();
//目标类构造函数指向欢原
Target.prototype.constructor = Target;
//定义目标类从哪继承
Target.prototype.super_class = Origin;
}
console.log(s,t); </script>
</body>
</html>
最新文章
- JavaScript检测文件上传的类型与大小
- 《BI那点儿事》数据挖掘各类算法——准确性验证
- ae_feature的插入、复制和删除
- 网络开始---多线程---GCD-01-基本使用(掌握)(六)
- 夺命雷公狗---Thinkphp----5之数据库的链接
- IO多路复用的几种实现机制的分析
- Python切割nginx日志_小组_ThinkSAAS
- 设计模式(三): FACTORY工厂模式 -- 创建型模式
- CCNA+NP学习笔记—序章
- rsync+innotify做到同步式更新
- 我为什么放弃MySQL?最终选择了MongoDB
- bootstrap AdminLTE模版的使用
- nativefier(一行代码将任意网页转化为桌面应用)
- Python常用模块--string
- Android---Hellow World
- leecode第八十八题(合并两个有序数组)
- Git仓库初始化与推送到远端仓库
- Python读文本文件
- 《转载》IntelliJ 2016.2 IDEA 中进行 Java Web 项目开发配置
- 学习python绘图