`

JavaScript面向对象实现

阅读更多
1. 面向对象三大特征

2. JavaScript自定义对象

2.1) 创建对象方式一,对象初始化器方式

2.2) 创建对象方式二,构造函数方式

chap03/demo01.jsp

<script type="text/javascript">
    var marry = {
        name:"marry",
        age:2,
        shout:function() {
            alert("我是:"+this.name+",今年:"+this.age);
        },
        action:function(){
            alert("会吃");
        }
    };
    alert(marry.name);
    alert(marry.age);
    marry.shout();
    marry.action();
    
    function Dog(name,age) {
        this.name = name;
        this.age = age;
        this.shout = function() {
            alert("我是:"+this.name+",今年:"+this.age);
        };
        this.action = function() {
            alert("会吃");
        };
    }
    
    var jack = new Dog("jack",1);
    alert(jack.name);
    alert(jack.age);
    jack.shout();
    jack.action();
</script>

http://localhost:8080/HeadFirstJavaScript/chap03/demo01.jsp


对象属性定义:私有属性;对象属性;类属性;
对象方法定义:私有方法;对象方法;类方法;

chap03/demo02.jsp

<script type="text/javascript">
    function C() {
        this.objPro = "对象属性";
        C.prototype.objPro2 = "对象属性2";
        var privatePro = "私有属性";
    }
    C.classPro = "类属性";
    
    alert(C.classPro);
    var c = new C();
    alert(c.objPro);
    alert(c.objPro2);
</script>

http://localhost:8080/HeadFirstJavaScript/chap03/demo02.jsp
类属性
对象属性
对象属性2


chap03/demo03.jsp

<script type="text/javascript">
    function C() {
        var privateFunc = function() {
            alert("私有方法");
        };
        privateFunc();
        this.objFunc = function() {
            alert("对象方法");
        };
        C.prototype.objFunc2 = function() {
            alert("对象方法2");
        };
    }
    C.classFunc = function() {
        alert("类方法");
    };
    
    C.classFunc();
    var c = new C();
    c.objFunc();
    c.objFunc2();
</script>

http://localhost:8080/HeadFirstJavaScript/chap03/demo03.jsp
类方法
私有方法
对象方法
对象方法2


2.3) JavaScript实现封装特性

2.4) JavaScript实现继承特性

Apply()实现属性和方法的继承;

chap03/demo04.jsp

<script type="text/javascript">
    function Animal(name,age) {
        this.name = name;
        this.age = age;
        this.shout = function() {
            alert("我是:"+this.name+",今年:"+this.age);
        };
        this.action = function() {
            alert("会吃");
        };
    }
    function Dog(name,age) {
        Animal.apply(this, [name,age]);
    }
    var jack = new Dog("jack",1);
    alert(jack.name);
    alert(jack.age);
    jack.shout();
    jack.action();
</script>

http://localhost:8080/HeadFirstJavaScript/chap03/demo04.jsp
jack
1
我是:jack,今年:1
会吃


Prototype实现原型的继承;

chap03/demo05.jsp

<script type="text/javascript">
    function Animal(name,age) {
        this.name = name;
        this.age = age;
        this.shout = function() {
            alert("我是:"+this.name+",今年:"+this.age);
        };
        this.action = function() {
            alert("会吃");
        };
    }
    function Dog(name,age){
        Animal.apply(this, [name,age]);
    }
    Dog.prototype = new Animal();
    var jack = new Dog("jack",1);
    alert(jack.name);
    alert(jack.age);
    jack.shout();
    jack.action();
</script>

http://localhost:8080/HeadFirstJavaScript/chap03/demo05.jsp
jack
1
我是:jack,今年:1
会吃


2.5) JavaScript实现多态特性

chap03/demo06.jsp

<script type="text/javascript">
    function Animal() {
        this.say = function() {
            alert("我是动物");
        };
    }
    
    function Dog(){
        this.say = function() {
            alert("我是狗");
        };
    }
    Dog.prototype = new Animal();
    
    function Cat() {
        this.say = function() {
            alert("我是猫");
        };
    }
    Cat.prototype = new Animal();
    
    function say(animal) {
        if (animal instanceof Animal) {
            animal.say();
        }
    }
    var dog=new Dog();
    var cat=new Cat();
    say(dog);
    say(cat);
</script>

http://localhost:8080/HeadFirstJavaScript/chap03/demo06.jsp
我是狗
我是猫
分享到:
评论

相关推荐

    JavaScript面向对象实现简单工厂模式

    JavaScript面向对象实现简单工厂模式是一种常见的设计模式,它在软件工程中被广泛应用于创建对象的场景。简单工厂模式的核心思想是将对象的创建过程抽象出来,由一个专门的工厂类负责,使得客户端代码无需关心具体...

    Javascript面向对象编程.

    在提供的资源中,《代码之美》PDF文件可能包含了关于编程实践和代码风格的指导,而《Javascript面向对象编程》PPT可能更具体地阐述了JavaScript OOP的细节和示例。学习这些材料将有助于深入理解JavaScript的面向对象...

    JavaScript面向对象编程指南.pdf

    JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在... 《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库

    JavaScript面向对象编程指南

    《JavaScript面向对象编程指南》内容包括:JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码...

    面向对象JavaScript精要(英文原版pdf)

    本书全面覆盖了面向对象编程的基础理论,并结合JavaScript的具体实现进行讲解。 - **第一章:JavaScript简介**:介绍JavaScript的发展历程、特点及其与Web浏览器的关系。 - **第二章:面向对象编程简介**:解释OOP...

    Javascript 面向对象的JavaScript进阶

    ### JavaScript面向对象进阶知识点详解 #### 8.1 面向对象编程的基本特性 在探讨面向对象的JavaScript之前,我们首先需要了解面向对象编程(Object-Oriented Programming, OOP)的基本特性:封装性、抽象性、继承...

    JAVASCRIPT 面向对象编程精要

    ### JavaScript面向对象编程精要 #### 一、引言 JavaScript是一种灵活且强大的脚本语言,它虽然起源于一种简单的浏览器脚本语言,但随着时间的发展,JavaScript已经成为了一种功能全面的编程语言,尤其是在Web开发...

    JavaScript面向对象编程指南(第2版).rar

    JavaScript是一种广泛...通过深入学习这本《JavaScript面向对象编程指南(第2版)》,开发者不仅能掌握JavaScript的面向对象编程基础,还能了解到实际项目中如何有效地运用这些知识,提升编程技巧和解决问题的能力。

    javascript面向对象编程.pdf

    总而言之,学习现代JavaScript面向对象编程,有助于开发者在认识这门语言演化的基础上,运用面向对象的设计和编程模式来构建更加健壮和可维护的JavaScript应用程序。同时,测试和调试是保证代码质量不可或缺的环节,...

    JavaScript面向对象精要(英文版)

    《JavaScript面向对象精要》这本书不仅介绍了JavaScript面向对象的基础概念,还深入探讨了其实现机制及其在实际开发中的应用。对于希望提高自己JavaScript技能水平的开发者来说,本书是一本不可多得的好书。通过学习...

    JavaScript面向对象编程指南 pdf

    下面将详细探讨JavaScript面向对象编程的基本原理、特性以及实际应用。 1. **类与对象** - 在JavaScript中,对象是键值对的集合,可以通过字面量语法或构造函数创建。例如: ```javascript const person = { ...

    Javascript面向对象编程

    ### JavaScript面向对象编程详解 #### 一、引言 JavaScript作为一种广泛使用的脚本语言,在Web开发领域占据着举足轻重的地位。尽管JavaScript本质上是一种基于原型的语言,但它也支持面向对象编程的一些特性,使得...

    javascript面向对象编程(中文).pdf

    ### JavaScript面向对象编程知识点概述 #### 一、现代JavaScript编程概览 - **JavaScript的演进**:自诞生以来,JavaScript经历了从一个简单的脚本语言到现今被广泛应用于构建复杂应用的强大编程语言的过程。它的...

    JavaScript 面向对象编程详细讲解文档

    总的来说,JavaScript的面向对象编程依赖于对象、原型和继承来实现类的功能。通过理解和熟练运用这些概念,开发者可以在JavaScript中构建复杂、可维护的系统,同时避免命名冲突问题。虽然JavaScript的面向对象模型与...

    面向对象JavaScript开发

    在JavaScript中,面向对象主要通过构造函数、原型链、原型对象和闭包等机制来实现。 1. **构造函数**:构造函数在JavaScript中扮演着类的角色,它们通常用来初始化新创建的对象。我们可以通过`new`关键字调用构造...

    javascript面向对象编程

    JavaScript作为一门浏览器语言的核心思想;...如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。

    javascript面向对象框架

    "javascript面向对象框架"这一主题涵盖了JavaScript中实现面向对象编程的框架,特别是Prototype和MooTools这两个优秀的库。 Prototype是JavaScript的一个开源库,它扩展了JavaScript的基本对象和函数,提供了强大的...

Global site tag (gtag.js) - Google Analytics