理解

oop(Object Oriented Programming)即面向对象编程,我的理解是将所要解决的问题或场景抽象成对象

OOP思想中很重要的有五点,类,对象,还有面向对象的三大特征:继承,多态和封装。

面向对象的三大特征

面向对象的三大特征是继承、封装、多态

类和对象

1、类:一类具有相同特征(属性)和行为(方法)的集合。
如,人类具有身高、体重等属性,吃饭、大笑等行为,所以,我们可以把人划分为一类。

2、对象:从类中,拿出具有确定属性值和方法的个体。
如,张三-->属性:身高180体重180 方法:说话-->我叫张三,身高180

3、类和对象的关系:
①类是抽象的,对象是具体的(类是对象的抽象化,对象是类的具体化)
②类是一个抽象的概念,只能说类有属性和方法,但是不能给属性赋具体的。比如,人类有姓名,但是不能说人类的姓名叫什么。对象是一个具体的个例,是将类中的属性进行具体赋值而来的个体。
比如,张三是一个人类的个体。可以说张三的姓名叫张三。也就是张三对人类的每一个属性进行了具体的赋值,那么张三就是由人类产生的一个对象。

4、使用类和对象的步骤:

1)创建一个类(构造函数):类名必须使用大驼峰法则。即每个单词首字母都要大写

function 类名(属性1){this.属性1=属性1;this.方法=function(){//方法中要调用自身属性,必须使用this.属性}
}

2)通过类实例化(new)出一个对象。

var obj=new 类名(属性1的具体值);
obj.属性; 调用属性
obj.方法; 调用方法

3)注意事项
①通过类名,new出一个对象的过程,叫做"类的实例化"。
②类中的this,会在实例化的时候,指向新new出的对象。
所以,this.属性 this.方法实际上是将属性和方法绑定在即将new出的对象上面。
③在类中,要调用自身属性,必须使用this.属性名。如果直接使用变量名,则无法访问对应的属性。

function Person(name,age){this.name=name;this.age=age;this.say=function(content){//在类中,访问类自身的属性,必须使用this.属性调用。alert("我叫"+this.name+",今年"+this.age+"岁,我说了一句话:"+content);}
}
var zhangsan=new Person("姐姐",18);
zhangsan.say("你好呀");

④类名必须使用大驼峰法则,注意与普通函数区分。

什么是oop,你对他是怎么理解的相关推荐

  1. 面向对象(OOP)设计七大原则最易理解

    面向对象设计七大原则 一.开闭原则 二.里氏替换原则 三.依赖倒置原则 四.单一职责原则 五.接口隔离原则 六.迪米特法则 七.合成复用原则 一.开闭原则 开闭原则(Open Closed Princ ...

  2. 招聘带来的Silverlight团队技能指标

    随着RIA技术的流行,越来越多的项目开始转向Silverlight平台,这样Silverlight开发人员的需求自然也有所增加,最近公司招聘新项目开发人员,公司写了一个新项目角色技能描述.根据这个招聘 ...

  3. 十一Python之路,Day6 - 面向对象学习

    本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你 ...

  4. python Day6 面向对象学习

    面向过程 VS 面向对象 编程范式 编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大 ...

  5. 简单理解AOP(面向切面编程)

    来源:http://www.cnblogs.com/jyh317/p/3834271.html AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式 ...

  6. python最常用的编程方式是什么_python常用模块和对象编程

    1.摘要 常用模块 对象编程 领域模型 2.常用模块 2.1shutil模块 2.1.1 shutil.copyfileobj(fsrc, fdst[, length]) 1 f = open(&qu ...

  7. python学习笔记六 初识面向对象上(基础篇)

    python面向对象 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性是继承. ...

  8. Python学习-07-面向对象编程初级

    一.摘要 1)     类: 属性:实例变量 类变量 私有属性 __var 方法:构造方法:初始化实例 析构方法:实例销毁的时候自动执行的方法. 私有方法 2)     对象:实例化一个类之后得到的对 ...

  9. 人生苦短,我用python-- Day6 面向对象

    目录大纲 1.面向对象编程介绍 2.为什么要用面向对象进行开发? 3.面向对象的特性:封装.继承.多态 4.类.方法 面向过程 VS 面向对象  编程范式 编程是 程序员用特定的语法+数据结构+算法组 ...

  10. python学习笔记(七):面向对象编程、类

    一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...

最新文章

  1. 分布式缓存,就该这样设计!
  2. 三大测序平台芯片通量对比图
  3. HTTPS协议之SSL/TLS协议四次握手
  4. compareHist函数
  5. linux下系统安全常见问题2
  6. 截取utf8中文字符串
  7. 用友u8服务器优化,用友U8v10.1运行速度慢的问题及解决方法
  8. linux脚本解密,给shell脚本加密和解密的shell脚本
  9. 68、secureCRT,vim中输入中文
  10. BetaFlight模块设计之十一:GyroAcc任务分析
  11. python生成一维数组_如何用python随机产生一个一维数组?
  12. Structure-Revealing联合去噪增强模型论文解读
  13. Windows 10搭建FTP服务器
  14. Unity发布windows程序,Fullscreen Mode设置为Windowed,可运行总是全屏
  15. 英语语法(1)——简单句
  16. 你不知道的javaScript读书笔记(六)
  17. 五行代码实现图像识别(深入版)
  18. 扫描NFC卡,获取卡号存储到本地并可以以Excel形式导出数据
  19. 网页期末作业 基于HTML+CSS中国传统节日【清明节】带论文8000字
  20. ME59N 自动创建采购订单的凭证类型NB变更为指定类型Zxxx

热门文章

  1. R语言-多元统计学分析课程报告
  2. 我的世界bc端mysql_[BC端简介] BungeeCord跨服群组简介
  3. macbook不能进系统 备份数据_U盘装系统,系统分区备份,万兴数据恢复,介绍几款好用的系统软件...
  4. 软件设计师考试 | 第五章 软件工程基础知识 | 系统设计
  5. day11【网络编程】
  6. os.environ[‘CUDA_VISIBLE_DEVICES‘]指定GPU后,还是用的“0“卡
  7. 兄弟hl3150cdn打印测试页6_兄弟3150CDN彩色激光打印机
  8. JAVA计算机毕业设计漫画网站系统(附源码、数据库)
  9. 图数据库JanusGraph实战[6]: JanusGraph+HBase+ElasticSearch的环境搭建
  10. 教学用计算机报废年限,教学科研仪器设备报废管理办法