`
vishare
  • 浏览: 9146 次
  • 性别: 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写的象棋(面向对象)

    综上所述,这个"js写的象棋(面向对象)"项目是一个利用JavaScript的面向对象特性实现的中国象棋游戏,它展示了如何使用JavaScript进行用户交互、处理游戏逻辑以及构建复杂的游戏应用。通过这个项目,开发者可以学习...

    java面向对象代码实例

    Java是一种广泛使用的面向对象编程语言,其核心特性就是面向对象的思想。面向对象编程(Object-Oriented Programming,简称OOP)是一种程序设计范型,它将现实世界中的事物抽象为程序中的对象,通过对象之间的交互来...

    JAVA面向对象编程(孙卫琴)源代码

    3. **继承**:继承允许一个类(子类)从另一个类(父类)继承属性和方法,实现了代码的复用。源代码中可能包含多层继承关系,展示如何通过`extends`关键字实现继承。 4. **多态**:多态是指同一种行为可以有不同的...

    Java面向对象程序设计课本例题源代码

    《Java面向对象程序设计》是Java编程学习的重要教材,作者张亦辉以其深入浅出的讲解方式,引领读者进入面向对象的世界。这份压缩包包含了书中各个章节的例题源代码,是学习和理解Java面向对象编程概念的宝贵资源。...

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

    - **继承**:继承允许一个类(子类)从另一个类(父类)继承属性和方法,实现代码复用和扩展。 - **多态**:多态是指同一种操作可以作用于不同类型的对象,产生不同的效果,增强了代码的灵活性。 2. **C++中的...

    Java面向对象程序设计(源代码)

    Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)的理念,为开发者提供了构建复杂软件系统的方法。在这个资源中,我们找到了一系列与Java OOP相关的源代码,涵盖了多个章节,包括...

    面向对象实验一——纸牌游戏

    面向对象编程是软件开发中的一个重要概念,它将复杂的程序设计问题分解为一系列可复用的对象。在这个名为“面向对象实验一——纸牌游戏”的项目中,我们看到了如何使用Java语言来实现这一理念,通过模拟Windows经典...

    用面向对象写贪吃蛇

    在本例中,“用面向对象写贪吃蛇”意味着我们将构建一个基于面向对象设计的贪吃蛇游戏。 贪吃蛇游戏是一个经典的计算机游戏,玩家控制一条蛇在有限的区域内移动,通过吃食物使蛇变长。游戏的核心概念包括蛇、食物、...

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

    书中《写给大家看的面向对象编程书》可能涵盖了以上所有内容,并通过易于理解的方式讲解面向对象编程的概念,包括实例解析和实践指导,适合初学者入门。 通过深入学习和实践面向对象编程,开发者能够更好地理解和...

    《Java面向对象编程》实例源代码

    通过研究这些实例源代码,学习者不仅能掌握Java面向对象编程的基本概念,还能提高分析问题和解决问题的能力,为实际开发打下坚实的基础。同时,这些代码还可以作为模板,帮助开发者快速构建自己的Java项目。

    面向对象程序设计实验指导书及程序代码

    - 继承允许一个类(子类)继承另一个类(父类)的属性和方法,实现代码重用。Java中的继承使用`extends`关键字,子类可以扩展父类的功能,同时可以覆盖或添加新的方法。 4. **多态**: - 多态是同一消息可以被...

    一个简单的计算器(面向对象的方法写的)

    在这个简单的计算器程序中,我们将深入探讨如何使用C#实现面向对象的计算逻辑。 首先,我们要理解面向对象的基本概念:封装、继承和多态。封装是将数据和方法捆绑在一起,形成一个独立的单元,即对象。继承允许子类...

    第16章 LabVIEW中的面向对象编程,labview面向对象的框架,LabView

    在LabVIEW中实现面向对象编程(Object-Oriented Programming, OOP)可以提升代码的可重用性、可维护性和组织性。本章将深入探讨LabVIEW中的面向对象编程框架及其应用。 面向对象编程的核心概念包括类(Class)、...

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

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

    基于面向对象winfrom开发

    在WinForms中,控件的事件处理程序就是多态的体现,尽管所有控件都继承自同一个基类,但每个控件可以有自己特定的事件处理方式。 5. **属性与方法**:在类中,属性用来存储和检索对象的状态,而方法则定义对象的...

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

    《写给大家看的面向对象编程书》作为一本面向初学者和进阶者的教材,旨在帮助读者深入理解并掌握这一核心编程概念。 在第三版中,本书可能会涵盖以下重要知识点: 1. **类与对象**:首先,会讲解什么是类,它是...

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

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

    易语言面向对象1源码,易语言面向对象2源码,易语言面向对象3源码,

    通过对这些源码的学习,你可以了解如何在易语言中定义和使用类,以及如何通过面向对象的方式组织代码。同时,实践操作能帮助你更好地理解和掌握面向对象编程的核心理念,提升编程能力。在实际项目中,面向对象的设计...

    C++面向对象程序设计实训课设网吧管理系统代码.rar

    在本实训课程中,我们将深入探讨C++编程语言中的面向对象程序设计(Object-Oriented Programming,OOP)概念,并通过实现一个网吧管理系统来实践这些理论。C++是一种强大的、通用的编程语言,它支持面向对象特性,如...

    JAVASE做的ATM提款机项目 使用面向对象分层等思想 并使用了jdom

    这个项目基于面向对象编程(OOP)原则,采用分层架构,旨在提供一个清晰、可扩展且易于维护的软件解决方案。 面向对象编程是现代软件开发的核心理念之一,它将现实世界的问题转化为类和对象,通过封装、继承和多态...

Global site tag (gtag.js) - Google Analytics