`
japankn
  • 浏览: 218503 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

同名的原型属性和公有属性

阅读更多

function ClassA(a){
    if(a)               //当a不为空
        this.a = a; //ClassA内部属性
}
ClassA.prototype.a = "ccc"; //ClassA原型属性
var ca = new ClassA;
var ca2 = new ClassA("bbb");
alert(ca.a);       //打印 ccc

alert(ca2.a);     //打印 bbb

ClassA.prototype.a = "aaa";
var ca3 = new ClassA;
alert(ca3.a);     //打印 aaa

 

如果内部属性没有赋值,那么相同名的原型属性将覆盖内部属性,如果内部属性赋值了,那么相同名的原型属性将不起作用!

 

我们将函数改写成

function ClassA(){

    this.a = "eee";

}

那么在外面定义的原型属性都将失效!所有的打印结果都为 eee;

 

 

 

分享到:
评论

相关推荐

    JavaScript 对象的属性和方法4种不同的类型

    在JavaScript编程中,对象可以拥有不同类型的属性和方法,这四种类型分别为:私有属性、动态公有属性、静态公有属性(原型属性)和类属性。理解这些不同属性类型之间的区别和特点对于有效地管理对象的状态和行为非常...

    javascript 面向对象全新理练之原型继承

    这样,`Child.prototype`就拥有了`Parent`的所有公有属性和方法。 2. 修复`constructor`属性。由于`Child.prototype`现在指向了`Parent`的一个实例,`constructor`属性指向了`Parent`而非`Child`。因此,我们需要...

    推选面向对象程序设计基础PPT资料.ppt

    在函数原型和定义中,通过`const`关键字指定,以限制对数据成员的修改,增加代码安全性。 通过深入理解和熟练应用这些基本概念,开发者可以创建出更加灵活、可维护的代码,适应复杂项目的需求。在实际编程中,结合...

    试卷库(C++)

    基类和派生类的关系中,公有继承使得派生类可以访问基类的公有和保护成员,私有继承只允许访问基类的公有成员。类之间的通信和封装是通过成员访问修饰符(public, private, protected)来实现的,类与类之间可以是...

    面向对象程序设计总复习资料(2013夏).pdf

    对象是由数据(属性)和操作这些数据的方法(行为)组成的实体,它们封装在一起,形成了一个独立的实体,可以相互之间通过消息传递进行通信。 在C++中,面向对象编程(OOP)的核心特性包括: 1. 抽象性:抽象是...

    语言程序设计课后习题答案

    面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得...

    C++复习题及重点

    函数可以有定义(实现)、原型(声明),并且可以通过重载实现不同功能的同名函数。函数可以带有默认参数值,方便在调用时省略某些参数。内联函数是一种优化技术,用于减少函数调用的开销,但并不总是能提高效率,...

    c++面向对象程序设计-考试题及习题讲解(免费下载)

    继承和封装是实现对象特性的机制,而函数重载是在同一作用域内提供多个同名但参数列表不同的函数。 3. 析构函数:每个类只能有一个析构函数,它不接受参数,也不返回值。析构函数用于在对象生命周期结束时清理资源...

    浅谈javascript 面向对象编程

    类式继承通常涉及将一个类的方法和属性复制给另一个类;原型继承则依赖于JavaScript特有的原型链机制,一个对象可以直接从另一个对象继承属性和方法;而掺元类是一种混合方法,它结合了类式继承和原型继承的特点,将...

    程序员面试精选题

    类的成员访问属性包括public(公有)、protected(保护)和private(私有)。这些属性控制着类的成员对外界的可见性和可访问性,有助于实现封装和信息隐藏。 #### 28. `const`修饰符的位置差异 `const`修饰符的...

    武汉大学 C++ 期末试卷

    在C++中,类的数据成员和成员函数可以声明为三种访问权限:public(公有)、protected(受保护)和private(私有)。通常,为了保证数据的安全性和封装性,数据成员声明为私有权限,成员函数声明为公有权限。 #### ...

    C++2011复习大纲(全答案版).pdf

    - C++支持单一继承(一个派生类只能有一个基类)、多重继承(一个派生类可以从多个基类继承)和虚拟继承(解决多重继承中同名成员的冲突)。 8. **多态**: - 多态是指同一操作作用于不同的对象,可以有不同的...

    c++语言程序设计(郑莉第四版)课件5.ppt

    - 为了防止并发访问导致的数据不一致,C++提供了访问控制机制(如公有、私有和受保护的访问修饰符)和同步机制(如互斥锁)来保护共享数据。 6. **友元**: - 友元允许一个类访问另一个类的私有或受保护成员,...

    面向对象程序设计复习题专科.pdf

    13. 控件与非控件:菜单不是控件,因为它不具有控件的一些基本属性,如位置、大小等,而组合框、编辑框和滚动条都是常见的控件。 14. 友元关系:如果类 A 是类 B 的友元,类 A 的成员函数可以访问类 B 的私有和保护...

    C#语言基础

    #### 九、类的字段和属性 - **静态字段、实例字段、常量和只读字段**:分别用于不同场景。 - **属性**:用于简化对类成员的访问。 #### 十、类的方法 - **方法的声明**:定义方法的行为。 - **方法参数的种类**:...

    C++期末复习--2.练习题_填空汇总.docx

    35. 类中的数据成员的访问属性通常被指明为private(私有)、protected(受保护)或public(公有)。 36. 类中的供外部调用定义的函数成员,其访问属性通常被定义为public,以便外部代码可以访问。 37. 对于类中定义...

    c.c++找工作面试重点结构图-mindmanager

    面向对象中的继承指类的继承,类似父子继承 1、子类拥有父类的所有成员变量和成员函数 2、子类就是一种特殊的父类 3、子类对象可以当作父类对象使用(赋值兼容性原则) 4、子类可以拥有父类没有的方法和属性..........

    c++题库面向 对象

    继承是从已有的类创建新类的过程,新类继承了父类的属性和行为;多态允许不同对象对同一消息做出不同响应。 2. 如果一个类至少有一个纯虚函数,那么该类被称为抽象类。抽象类不能被实例化,只能作为其他类的基类。 ...

    全国计算机等级考试二级C_样题.pdf

    在C++中,公有继承保持基类的public和protected成员的访问级别不变,但将基类的private成员隐藏。私有继承则将基类的所有成员转变为私有的。 #### 12. 虚函数调用 虚函数允许在派生类中重写基类的函数,并通过基类...

Global site tag (gtag.js) - Google Analytics