`
vishare
  • 浏览: 8861 次
  • 性别: Icon_minigender_2
  • 来自: 南宁
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用面向对象的方式写代码的一个问题

    博客分类:
  • js
 
阅读更多
假设我们创建了一个对象animal

var Animal = function(type){
	return {
	   see:function(){
               switch (type){
                  case 'dog' :
                    var i =2;
                    alert("dog to see"+i);
                    break;
                  case 'cat' :
                    var i =2;
                    alert("cat to see"+i);
                    break;
               }
           }
	}
}


var  mydog = new Animal("dog");



当需要增加新的动物类型的时候,又需要重新修改Animal对象,在see方法中增加新的类型.
使用这种方式编写代码是用的面向对象的方式吗?随着动物类型的增多,这个对象的see方法中的代码会越来越长.看到这么长的代码的时候,是不是很悲剧...


那么,应该怎么写,才是创建一个Animal的类,每个实例继承这个类的方法,然后这个方法的具体实现是在实例中去完成的

但是如果这样的话,那么是不是直接建立具体的实例,然后在每个实例中都使用相同的方法名see,在js中,Animal这个父类是不是多余的?


我想这个问题的重点应该是:我们想要的代码是一个思路清晰完整的代码段,还是一个代码重复性少但是掺杂着各种类型判断的代码段.

事实上,我们应该是创建不同的动物实例,它们有相同的方法,而不是在动物这个父类中无限的增加动物的类型的处理语句

我想,一段代码更多的应该是一步一步的表达程序的逻辑,而不是简单的达到统一.以减少代码的修改量
分享到:
评论

相关推荐

    js写的象棋(面向对象)

    用javascript写的象棋,基本功能全部实现,里面是个Html文件打开直接就能开到效果了!

    写给大家看的面向对象编程书(第3版).pdf

    书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。此外,《写给大家看的面向对象编程书(第3版)》还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言、...

    写给大家看的面向对象编程书 第3版

    书中结合代码示例生动透彻地讲述了面向对象思想的精髓, 让读者真正学会以对象方式进行思考。此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML 、UML 建模语言、持久存储、分布式计算和客户/ ...

    写给大家看的面向对象编程书(第3版).[美]Matt Weisfeld(带详细书签).pdf

    书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言、持久存储、分布式计算和客户/服务器...

    讲解JavaScript的面向对象的编程

    本人在带学生使用EXT框架时,我发现学生阅读Ext的sample代码有问题,特别是对JavaScript的面向对象编程的书写方式不熟悉,于是,写了四个sample来说明它现代JS编程的对类的定义方式、类继承的方式,以及怎样发展到...

    写给大家看的面向对象编程书

    书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言、持久存储、分布式计算和客户/服务器...

    写给大家看的面向对象编程

    书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言、持久存储、分布式计算和客户/服务器...

    写给大家看的面向对象编程书(第三版)

    第1章 面向对象概念介绍 1.1 过程式程序设计与OO程序设计 1.2 从过程式开发转向面向对象开发 1.3 对象到底是什么 1.4 类到底是什么 1.5 使用UML完成类图建模 1.6 封装和数据隐藏 1.7 继承 1.8 多态 1.9 ...

    面向对象与C++试题.doc

    19、模板的使用实际上是将类模板实例化成一个( )。 A.函数 B.对象 C.类 D.抽象类 20、假定MyClass为一个类,则该类的拷贝构造函数的声明语句为( )。 A.MyClass(MyClass x) B.MyClass&(MyClass x) C....

    PHP 面向对象技术(全面讲解).txt

    在面向对象的编程语言中,类是一个独立的程 序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。 LAMP 大讲堂PHP 面向对象技术(全面讲解) 网站:http://www.phpchina.com 投稿:phper@phpchina.com ...

    面向对象Javascript核心支持代码分享

    至于Ext就是一个庞然大物了,高度面向对象,类似于MFC的庞大API和控件库,运行起来,浏览器就累得够呛,开发也够呛,使用代码来创建界面绝对是个糟糕的方式,Javascript的弱语言类型使得Ext开发就像行走在雷区,减少...

    Python(面向对象编程语言) v3.4.0.zip

    一个用编译性语言比如C或C 写的程序可以从源文件(即 C或C 语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/ 转载器软件把...

    Java面向对象的三大特性和面向对象的进阶

    主要简述Java面向对象基础,进阶,高级;从封装、继承、多态、接口、内部类、抽象类和代码块 适合刚开始的新手参考,毕竟我也是自学的 主要可以使用在计算机刚入门的小伙伴或者回来看一看复习一下简单的基础的 ① 凡...

    「Java语言与面向对象程序设计-在线作业B答案」.docx

     在Java程序设计语言中,所有源代码写在一个扩展名是( )的纯文本文件里。 .jar .doc .class .java 本题分值: 5.0 用户得分: 5.0 用户解答: .java 知识点: 2.3 Java开发环境与工具 9. .class文件...

    Python面向对象思想与应用入门教程【类与对象】

    本文实例讲述了Python面向对象思想与应用。分享给大家供大家参考,具体如下: 面向对象思想 ...它是另一种看待问题的方式,它着眼于找到一个具有特殊功能的个体,然后委托这个个体去帮你完成某件事.这更符合

    js面向对象

    所以在大型项目中我们需要以面向对象的方式去开发项目,这样就体现了用面向对象的方法写出来的代码易维护、易复用、易扩展。 面向对象的特征:封装、继承、多态、抽象。 封装 我对封装的理解就是把属性和方法封装...

    java语言与面向对象程序设计形考2-0002.docx

    2.(3分) Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下四种方式哪一种是正确的? A、Inner in = new inner() B、Inner in = new Outer.Inner(); C、Outer.Inner in = new ...

    游戏,大嘴鱼吃豆豆游戏,Java完整源代码,内含详细设计文档,代码说明文档,游戏包括计分计算,关卡升级伴随着速度升级,鱼也会变大

    使用面向对象的方式,完成本项目。 三、 实现技术 a) 熟练使用if、for等语句进行逻辑操作。 b) 分析数据的属性和方法,能够熟练地写出该数据表示的类。 c) 使用JFrame创建一个窗体。 d) 掌握ActionListener等...

    从实例谈面向对象编程、工厂模式和重构

    根据 OOP 的思想,我们应该把 mp3 和 wav 看作是一个独立的对象。那么 是这样吗? 程序代码 public class MP3 { public void Play() { MessageBox.Show("Play the mp3 file."); } } public class WAV { ...

    JavaScript面向对象程序设计中对象的定义和继承详解

    在面向对象的Javascript编程中,希望代码优雅有高效是非常重要的。javascript中不存在类的概念,只有对象。要想把Javascript代码写的像java 或者C++一样优雅,就得考虑如何去实现,同时也要考虑性能和高效。定义...

Global site tag (gtag.js) - Google Analytics