截图 :
cal.js
var Class = {} ;
Class.calculation = function(){
var calculation = {} ;
calculation.result = 0 ;
calculation.calculate = function(num1,num2){} ;
calculation.getResult = function(){
return this.result ;
} ;
return calculation ;
} ;
Class.add = function(){
var add = Class.calculation() ;
add.calculate = function(num1,num2){
this.result = num1 + num2 ;
} ;
return add ;
}
Class.subtraction = function(){
var subtraction = Class.calculation() ;
subtraction.calculate = function(num1,num2){
this.result = num1 - num2 ;
} ;
return subtraction ;
}
Class.multiply = function(){
var multiply = Class.calculation() ;
multiply.calculate = function(num1,num2){
this.result = num1 * num2 ;
} ;
return multiply ;
}
Class.divide = function(){
var divide = Class.calculation() ;
divide.calculate = function(num1,num2){
this.result = num1 / num2 ;
} ;
return divide ;
}
Class.calculator = function(num1,num2,op){
var obj = null ;
var num1 = parseInt(num1) || 0 ;
var num2 = parseInt(num2) || 0 ;
if("+" == op){
obj = Class.add() ;
}
else if("-" == op){
obj = Class.subtraction() ;
}
else if("*" == op){
obj = Class.multiply() ;
}
else if("/" == op){
if(0 == num2){
alert("除数不能为零!") ;
return ;
}
obj = Class.divide() ;
}
else{
alert("无效的" + op + "操作符!") ;
return ;
}
obj.calculate(num1,num2) ;
alert("计算结果:" + obj.getResult()) ;
}
测试 :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>JavaScript面向对象</TITLE>
<script type="text/javascript" src="js-lib/cal.js"></script>
<script type="text/javascript">
window.onload = function(){
document.getElementById("command").onclick = function(){
var n1 = document.getElementById("n1").value ;
var opera = document.getElementById("opera").value ;
var n2 = document.getElementById("n2").value ;
Class.calculator(n1,n2,opera) ;
}
} ;
</script>
</HEAD>
<BODY>
操作数1 : <input type="text" id="n1" /></br></br>
操作符号 : <input size="4" type="text" id="opera" /></br></br>
操作数2 : <input type="text" id="n2" /></br></br>
<input type="button" id="command" value="计算" />
</BODY>
</HTML>
分享到:
相关推荐
在C#编程中,"C#做的计算器,利用类的封装继承多态"是一个典型的面向对象编程示例。这个计算器项目展示了如何应用C#的核心概念,如类、封装、继承和多态,来构建一个实际的软件应用。下面将详细解释这些知识点。 1....
javascript中如何实现封装,继承和多态
javascript中如何实现封装,继承和多态,并有详细,我天天在传谢谢
综合以上,这份资料可能包含了一篇关于如何使用Java实现空对象模式、利用虚函数实现运行时多态、以及策略模式的文章,还可能附带了源码示例、运行结果、UML类图和详细的分析文档。这些内容可以帮助读者深入理解并...
【C语言实现继承与多态】的探讨主要集中在如何在非面向对象的语言——C语言中,利用其特性模拟实现面向对象编程的关键概念:封装、继承和多态。 封装是面向对象设计的基础,它通过将数据和操作数据的函数捆绑在一起...
数据库设计模式是 Java 中的一种设计模式,强调数据库的设计和实现。数据库设计模式的优点是可以提高数据库的性能和可维护性。 在数据库设计模式中,发现类、第一范式、第二范式和第三范式都是非常重要的概念。这些...
C#第六章 初始继承和多态.pdfC#第六章 初始继承和多态.pdfC#第六章 初始继承和多态.pdf C#第六章 初始继承和多态.pdfC#第六章 初始继承和多态.pdf
使用C语言实现封装,继承,多态等面向对象的特性使用C语言实现封装,继承,多态等面向对象的特性使用C语言实现封装,继承,多态等面向对象的特性使用C语言实现封装,继承,多态等面向对象的特性使用C语言实现封装,...
继承允许我们创建一个新类(子类),它继承了另一个类(父类)的属性和方法,从而实现了代码的重用和扩展。多态则是指同一种行为在不同对象上表现出不同的形式,增强了程序的灵活性。 首先,让我们详细讨论继承。在...
在实际应用中,继承和多态的结合可以实现强大的功能,比如设计模式中的工厂模式、策略模式等,它们充分利用了这两个特性来提高代码的灵活性和可扩展性。通过观看"2-2继承&多态"的教学视频,你可以深入理解这两个概念...
在这个“C#中应用多态的计算器”示例中,我们将探讨如何在计算器程序中实现这一概念。 首先,让我们理解什么是多态。多态是指一个接口可以有多种不同的表现形式或实现。在C#中,多态可以通过方法重载、方法重写...
接口提供了一种定义一组方法签名的方式,而具体的实现由实现该接口的类完成;抽象类可以包含抽象方法和具体实现,派生类必须实现抽象方法才能实例化。 #### 四、多态的应用实例 以下是一个简单的Java示例,展示了...
- **多重继承**:通过继承一个父类并实现多个接口来模拟多重继承的效果。 - **语法**: ```java class ChildClass extends ParentClass { // 子类定义 } ``` - **super与this关键字**: - `super`:用来...
继承是面向对象编程的一种机制,允许一个类(子类)继承另一个类(父类)的属性和方法。继承的目的是为了实现代码的重用和简化程序的设计。在 Java 中,继承是通过关键字 `extends` 实现的。 多态的概念 多态是...
继承是一种设计模式,允许一个类(子类或派生类)从另一个类(父类或基类)获取属性和方法。这种机制使得子类可以复用父类的功能,并在其基础上进行扩展或定制。在MFC框架中,我们可以创建一个CShape类作为基本形状...
下面将详细阐述这三个概念的实现方式、功能以及它们之间的区别。 首先,**继承(Inheritance)**是C#中类之间的一种关系,一个类可以继承自另一个类,从而获得被继承类的所有属性和方法。这种关系使得代码复用变得...
抽象工厂模式是一种创建型设计模式,它提供了一种创建对象族的方法,而无需指定它们的具体类。在计算器的实现中,这个模式可以帮助我们构建不同类型的计算器,比如简单计算器、科学计算器等,而无需修改现有代码。 ...
封装继承多态总结