OOP面向对象程序设计
1、对象:程序中描述现实中一个物体的属性和功能的结构
面向对象的程序设计,即为定义相应对象的属性,实现相应的功能。一个对象专门代表现实中的一个物体。
*封装事物的属性和功能的结构。
例如 我们的手机:属性:
屏幕大小:5.5
处理器: A8
运行内存:2G
存储:64G
通讯录:["小张":12312312345,
"小美":32132154321,
"小贾":23423423456]
功能:打电话(电话号码){}
发短信(电话号码,msg){}
2、如何创建对象
(1)、直接量创建
var obj={
属性名1:属性值1,
属性名2:属性值2,
方法名1=function(){……},
方法名2=function(){……}
}
使用:仅创建一个单独的对象时
注意:js底层,所有对象都是用hash数组存储的!
(2)、使用构造函数创建多个统一的结构对象,只需一次定义结构,即可反复创建相同结构的对象
如何使用构造函数:2步:
Step1: 定义构造函数
function 类型名(属性参数1,属性参数2,...){
this.属性名1=参数1;
this.属性名2=参数2;
this.方法名=function(){...}
}
Step2: 调用构造函数函数创建对象!
var Obj=new 类型名(属性参数1,属性参数2);
注意:this指正在创建的对象
new 构造函数的内存现象
1. new创建空对象
2. 调用构造函数向新对象中添加属性和方法
3. 设置新对象的__proto__属性指向构造函数的原型对象
4. 返回新对象的地址给调用者
(3)、先创建空对象,再设置属性
var obj=new Object(); //创建空对象
obj.属性1=值1;
obj.属性2=值2;
obj.方法=function(){...}
使用:创建对象时,暂时不知道对象中的结构
可先创建空对象,之后逐渐追加属性和方法(一般不使用),
固定套路:遍历对象中所有属性和方法: for in结构
3、判断对象中是否存在指定属性
(1)、 "属性名" in obj:
如果obj是原始类型变量,可new空包装类型对象,再检测
(2) 、 if(obj.方法名===undefined): 属性名不存在
专门验证方法名是否存在——使用最频繁的!
可简写为if(obj.方法名)
OOP面向对象程序设计的更多相关文章
- OOP面向对象程序设计原则
OOP面向对象程序设计原则 开闭原则(Open Close Principle) 对扩展开放,对修改关闭 里氏代换原则(Liskov Substitution Principle) 继承必须确保超累所 ...
- 对面向对象程序设计(OOP)的认识
前言 本文主要介绍面向对象(OO)程序设计,以维基百科的解释: 面向对象程序设计(英语:Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发 ...
- JAVA 1.8 理解面向对象程序设计
1. break语句:经常用在循环语句中,用于跳出整个循环,执行循环后面的代码. 2. continue语句:经常用在循环语句中,用于跳出当前的这个循环(或者是跳出本次循环),开始下一次循环的执行. ...
- 初探C++Primer(15.面向对象程序设计)
最近在恶补OOP相关知识,很遗憾学校的课没选上,于是只能上网购进C++Primer一本,开始重学C++之旅... (壮哉我大ZJU,网购半天到货XDD) 学习路线 7.类->13.类设计者的工具 ...
- 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...
- 20145206《Java程序设计》实验二Java面向对象程序设计实验报告
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- JAVA课程实验报告 实验二 Java面向对象程序设计
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- 20145225唐振远 实验二 "Java面向对象程序设计"
20145225<Java程序设计> 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S ...
随机推荐
- jQuery学习心得一
1.闭包 每次看到jQuery的时候,首先想到的就是闭包.这是个老生常谈的问题了.今天重新回忆了一下闭包. 什么是闭包? 当有一个函数想要访问另一个函数内部的变量,这个是访问不了的.所有我们要用闭包来 ...
- android 如何画心
先前写了一个Windows版的画心,现在想把windows版的画心变成安卓版的. xml布局: <?xml version="1.0" encoding="utf- ...
- [Note] Stream Computing
Stream Computing 概念对比 静态数据和流数据 静态数据,例如数据仓库中存放的大量历史数据,特点是不会发生更新,可以利用数据挖掘技术和 OLAP(On-Line Analytical P ...
- swap分区的扩展
Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况.swap分区在非高内存的服务器上必不可少,但是s ...
- C语言拼接字符串以及进制转换
#include<stdio.h> #include<stdlib.h> #include<string.h> char *join1(char *, char*) ...
- <CEPH中国-深圳站-技术交流会演讲PPT> YY云平台Ceph Block应用实践 & 我写的书 《CEPH实战》
YY云平台Ceph Block应用实践 http://s3.yyclouds.com/public/YY%E4%BA%91%E5%B9%B3%E5%8F%B0Ceph%E5%AE%9E%E8%B7%B ...
- 【前端】Vue和Vux开发WebApp日志四、增加命令行参数
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_4.html 项目github地址:https://github.com/shamoyuu/vue- ...
- ORACLE NLS_DATE_FORMAT设置
最近在ORACLE里面设置NLS_DATE_FORMAT日期时间格式时遇到了一些问题,顺便整理一下.以防以后忘记时,能顺速翻阅. 1:在会话级别设置nls_date_format对应的日期格式. ...
- 关于我上传的activiti自定义流程demo的说明
最近又收到了一些询问activiti的问题,其中好几个都是向我索要我上传的这个activiti自定义流程demo的数据库设计. 索要的多了,而我早就把这个库给删掉了,所以我便觉得有必要做一个说明: 我 ...
- AM335x关于LCD屏幕的时钟PLL配置
主要参考的是AM335x的TRM的第8章PRCM模块和13章LCD Controller. 这里在LCD Controller里面的配置描述的比较详细了,分频和像素.消影值的设置等等.不在赘述,很多人 ...