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 ...
随机推荐
- 阿里巴巴Java开发规约插件地址
Git地址: https://github.com/alibaba/p3c eclipse 安装地址: https://p3c.alibaba.com/plugin/eclipse/update
- 解决hadoop中 bin/hadoop fs -ls ls: `.': No such file or directory问题
出现这样的问题确实很苦恼...使用的是2.7版本..一般论坛上的都是1.x的教程,搞死人 在现在的2.x版本上的使用bin/hadoop fs -ls /就有用 应该使用绝对路径就不会有问题.... ...
- spring cron 定时任务
文章首发于个人博客:https://yeyouluo.github.io 0 预备知识:cron表达式 见 <5 参考>一节. 1 环境 eclipse mars2 + Maven3.3. ...
- Spring 框架系列之事务管理
1.事务回顾 (1).什么是事务: 事务是逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败. (2).事务特性(ACID) 原子性 :强调事务的不可分割 一致性 :事务的执行的 ...
- ActiveMq笔记2-消息持久化
为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一般都会采用持久化机制. ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB, 无论使用哪种持久化方 ...
- sqlserver中select造成死锁
死锁过程: select语句使用非聚族索引查询产量信息,会对非聚族索引添加共享锁,由于非聚族索引上没有select的全部数据列,(所以会有书签查找出现,)需要查询产量表.查询产量表时,需要对产量表数据 ...
- FFmpeg-音频和视频应用程序的瑞士军刀
FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库l ...
- PCI9054 DMA设置流程
1.设置方式寄存器:设置DMA通道的传输方式,寄存器DMAMODE0或者DMAMODE1的位9:0-表示块传输,1-表示散/聚传输: 2.设置PCI地址寄存器:设置PCI总线侧的地址空间. 3.设置L ...
- mysql常用基础操作语法(十一)~~字符串函数【命令行模式】
注:sql的移植性比较强,函数的移植性不强,一般为数据库软件特有,例如mysql有mysql的函数,oracle有oracle的函数. 1.concat连接字符串: 从上图中可以看出,直接使用sele ...
- PL/SQL 记录 Record 简介
记录类型是表中当行数据结构的一个镜像.每个记录只存储一行数据,记录包含的是字段,而不是列. 1.用%rowtype属性隐式定义记录类型 declare individual individuals%r ...