笔记-[面向对象]-JS基于面向对象编程-[2]

下面是一个类定义私有属性的例子,和如何在类外部调用类内容的私有属性,

<script type="text/javascript">
var
people=function(name,work,address){
  var marry=1;//定义一个私有属性 marry
 私有属性和私有方法在外部不可以直接调用访问
  this.name=name;
  this.work=work;
  this.address=address;
  this.calls=function(){
    alert("我的工作是:"+work);
  }
  this.marry=function(){//公开方法访问私有属性
    alert(marry);
  }
};
  var
wt=new
people(‘wt‘,‘web‘,‘gd‘);
  //wt.calls();调用该对象类函数的分开方法
  people.prototype.gender=‘man‘;

  /*

    定义一个公开属性;prototype意思是原型;

    原型的作用:因为在对象的属性和方法调用中,如果有多个对象同时调用一个公共的属性和公共的方法,因此这些对象都会在内存中占用自己的一个内存空间

    同一样的东西却在内存中存在很多份,这是非常浪费内存资源的,因此,原型就可以有所有的对象同时指向内存中的同样东西共同的地址空间,提高性能,节约资源

    如同上面的poeple.prototype.gender=‘man‘;方法也是如此定义即好。

  */

  
  //alert(wt.marry);访问私有属性返回undefine;
  wt.marry();//调用公开方法访问类内部私有属性
</script>

笔记-[面向对象]-JS基于面向对象编程-[2]

时间: 2024-12-24 04:42:29

笔记-[面向对象]-JS基于面向对象编程-[2]的相关文章

笔记-[面向对象]-JS基于面向对象编程-[1]

面向对象(oop):是一种开发过程中,以面向对象的一种编程思维进行开发. 在JS中,我们一般采用的是面向过程的开发. 面向对象的特点:抽象.封装.继承.多态 先看看自定义对象如何写:自定义一个人的对象,人的名字,年龄,或者是说话.在下面,name age是这个人的属性,说话是这个人的一种行为,也可以叫方法.这样也可以理解为一个简单的面向对象的编程.对象从哪里来,如 var arr=new Array();这个就是一个数组的对象,它从js的一个内定的系统方法类来的. 例如:定义一个人的类,每一个人

【学习笔记】JS基于原型的面向对象

/*|------------------------------------------------------| *|--js是基于原型prototype而不是类class的面相对象语言----| *|--js只有对象和对象的实例,没有class-------------------| *|--Z_LY-2015-11-15-------------------------------------| *|--------------------------------------------

JS 基于面向对象的 轮播图2

<script> // 函数不能重名, --> 子函数 // is defined function --> 函数名是否写错了 function AutoTab(id) { Tab.apply(this, arguments); this.timer = null; this.inits(); // this.autoPlay(); } AutoTab.prototype = new Tab(); AutoTab.prototype.constructor = AutoTab; /

JS 基于面向对象的 轮播图1

---恢复内容开始--- 1 'use strict' 2 function Tab(id){ 3 if(!id)return; 4 this.oBox = document.getElementById(id); 5 this.aBtn = this.oBox.getElementsByTagName('input'); 6 this.aDiv = this.oBox.getElementsByTagName('div'); 7 this.iNow = 0; 8 this.init(); 9

基于对象编程与面向对象编程(表达式计算器3)

基于对象编程与面向对象编程 我们的最终目的是用C++设计一个面向对象的表达式计算器,所以非常有必要弄清楚,什么是基于对象编程和面向对象的编程.而要弄清楚这一点,又要先弄明白什么是值语言,什么是对象语义 值语义:对象的拷贝与原对象无关,拷贝后与原对象脱离关系,互不影响.这种拷贝叫深拷贝.拷贝之后脱离关系,只要在拷贝的时候都为对象分配内存空间就行了.某种些情况下算是一种对资源的浪费 值语义例子 class Test { private: int * pNum_; public: Test(int n

基于面向对象的图片轮播(js原生代码)

无论你想走多远,你都需要不断地走下去.前端最精华的便是原生的js,这也是我们前端工程师的技术分层的重要指标,也提现这你的代码能力,开发的水平.废话不多说,进入今天的主要分享----基于面向对象思想的图片轮播.其效果如下所示: 正如图片所示这样我们要实现的效果,这里与我们以往不同的是我们的布局十分简洁.其中html布局如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset

JS的面向对象编程

//JS的面向对象编程 在这里,原型对象就是类,JS中一切都是类 使用构造函数定义类,再定义对象实例 This指针每个对象都有一个副本,在函数外可以访问,实现JAVA公有变量和成员变量功能 This包含在一个函数中,指代函数的调用者 Prototype可以使属性方法等重用,实现JAVA中函数和静态变量功能 For(var Key in person1){ person1[Key]; } Prototype不能调用私有变量和方法 对象冒充形式实现继承(多重继承) function Person()

面向对象与基于对象的区别

面向对象和基于对象的区别是多态,和继承无关. 基于对象仅仅支持了抽象数据类型的功能,继承也不过体现了一种is-a的关系,也是抽象数据类型,只是建立了一个层次体系.但是什么是面向对象呢?就是根 据对象的实际类型不同,可以自动完成不同的行为,而仅仅通过一致的调用形式.换句话说,也就是虚函数实现的多态.以上观点,在OO设计中已经得到了公认, 多态的另一种实现方法是泛型. “面向对象”和“基于对象”两个不同的概念.面向对象的三大特点(封装,继承,多态)却一不可,通常“基于对象”使用对象,但是无法利用现有

【quick-cocos2d-x】Lua 面向对象(OOP)编程与元表元方法

版权声明:本文为博主原创文章,转载请注明出处. 面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物. 早期的计算机编程是基于面向过程的方法,通过设计一个算法就可以解决当时的问题.随着计算机技术的不断提高,计算机被用于解决越来越复杂的问题.面向过程式的编程思想很难良好的解决这些复杂的问题,通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析.设计与编程.同时,面向对象能有效提高编程的效率,通过封装技术,消息机制可以像搭积木的一样快速开发出一个全新的系统.  但是