Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2630827
  • 博文数量: 315
  • 博客积分: 3901
  • 博客等级: 少校
  • 技术积分: 3640
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-08 15:32
个人简介

知乎:https://www.zhihu.com/people/monkey.d.luffy Android高级开发交流群2: 752871516

文章分类

全部博文(315)

文章存档

2019年(2)

2018年(1)

2016年(7)

2015年(32)

2014年(39)

2013年(109)

2012年(81)

2011年(44)

分类: Web开发

2015-07-19 16:27:00




jsclassproperty.html

点击(此处)折叠或打开

  1. <!DOCTYPE HTML>
  2. <html>
  3.     <head>
  4.         <script type="text/javascript" language="JavaScript" charset="UTF-8">
  5.             
  6.             /******继承 - 类似使用函数指针来进行构造函数的创建来实现【就是网上说的对象冒充的方式】,当然是你创建子类的时候才会创建
  7.                  重写 - 子类覆盖父类的方法
  8.                  重载 - js不支持【同一个函数、不同参数】
  9.                  多态 - 执行时动态判断类型的技术、延迟绑定【c++
  10.             */
  11.             
  12.             /*基础类*/
  13.             function Animal(_name, _color, _category)
  14.             {
  15.                 var name = _name;
  16.                 var color = _color;
  17.                 var category = _category;

  18.                 this.getName = function()
  19.                 {
  20.                     return name;
  21.                 }
  22.                 this.getColor = function()
  23.                 {
  24.                     return color;
  25.                 }
  26.                 this.getCategory = function()
  27.                 {
  28.                     return category;
  29.                 }
  30.                 
  31.                 /**默认都是吃米饭**/
  32.                 this.eat = function()
  33.                 {
  34.                     return "吃大米饭!";
  35.                 }
  36.                 
  37.                 /**多态**/
  38.                 this.walk = function(animal)
  39.                 {
  40.                     alert(animal.getName() + "在散步!");
  41.                 }
  42.             }
  43.             /*子类 继承Animal- 小猫*/
  44.             function cat(_name, _color, _category)
  45.             {
  46.                 this.animal = Animal;
  47.                 this.animal(_name, _color, _category);
  48.                 this.shout = function()
  49.                 {
  50.                     alert(this.getName() + "喵喵叫! 想" + this.eat());
  51.                     return this;
  52.                 }

  53.                 /** 覆盖 - 小猫喜欢吃老鼠**/
  54.                 this.eat = function()
  55.                 {
  56.                     return "吃老鼠!";
  57.                 }
  58.             }
  59.             /*子类 继承Animal- 小狗*/
  60.             function dog(_name, _color, _category)
  61.             {
  62.                 this.animal = Animal;
  63.                 this.animal(_name, _color, _category);
  64.                 this.shout = function()
  65.                 {
  66.                     alert(this.getName() + "汪汪叫! 想" + this.eat());
  67.                     return this;
  68.                 }
  69.             }
  70.             /***测试继承***/
  71.             var catObj = new cat("阿花", 1, "猫科");
  72.             catObj.shout().walk(catObj);
  73.             var dogObj = new dog("小黑", 2, "犬科");
  74.             dogObj.shout().walk(dogObj);
  75.         </script>
  76.     </head>
  77.     <body>
  78.         <!--....-->
  79.     </body>
  80. </html>

阅读(1447) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~