学习面向对象之面向对象的基本概念:对象和其他基本要素
什么是对象
对象是一件事,一个实体,一个名词,概括来说:万物皆是对象
一个对象保存了某些信息,并知道如何执行某些操作
对象的状态和行为
对象具有状态,状态是对对象的一个或多个属性的描述(如:一个灯 "灯是亮的 这是它的状态")
对象具有行为,行为是对象为为改变自身的状态而发生的作用和反作用(如:一个灯 "把灯关了" 这是它的行为)
面像对象中最原始的单元就是对象
封装
把数据和影响这个数据的操作聚合成一个对象的行为称为“封装”
封装隐藏对象的属性和实现细节,公对公开接口,控制程序中属性的读和修改的访问级别
从外视图看,在一个对象内封装的数据是隐藏的
封装的目的增强安全性和简化编程,使用者不必了解具体的实现细节,而只要通过对象对外开发的接口,一特定的访问权限来使用对象的成员
消息和方法
消息发送
一个对象通过发送“消息”访问另一个对象,这样的访问,称为“消息发送”,是一个对象访问另一个对象的唯一的方法
消息发送过程中包含了:发送器->消息【名称和参数】->接收器
消息
一个“消息”由一个操作的名称和所有必须的参数组成,当一个对象给另一个对象发送消息时,发送者请求消息接受者执行指定的操作,并(有可能)返回信息,当接受者接收消息时,它以它所知道的方式来执行被请求的操作。这样的请求不规定如何执行一个操作。对于发送者的这种信息总是被隐藏的
消息名称
一个消息包括操作名称和该操作所要求的全部参数,有时,通过名称来查阅操作是很有用的,而不考虑它的参数,我们把一个操作的名称称为“消息名称”。
方法
当一个对象接收一个消息时,它通过执行一种方法来完成被请求的操作。这种“方法”就是一步一步执行算法。当消息名称和操作名称匹配时,响应接收到的消息。正如由信息隐藏原理所规定的。方法始终是一个对象私有表达的一部分,而不是公式接口的一部分。
签名
与消息发送相关的一个更有用的概念是签名,当一个消息由一种方法和方法所需的参数组成时,“签名”就是这种方法的名称,参数类型和返回对象的类型,签名是方法输入的正规说明书,也是方法输出的正规说明书。它规定了使用这种方法所必需的东西
相关推荐
-
浅谈c# 面向对象之类与对象
类与对象 1.了解类:从这里开始,学习C#面向对象编程的基本内容,使用C#编程,所有的程序代码都放在类中,结构体是一个用户自定义的类型,是由其他类型组成的变量组,不存在独立于类之外的函数:因此,在面向对象中,类是面向对象编程的基本单元.类与类之间交互. 2.类的定义:一个类都可以包含2种成员:字段和方法. 1)类的字段一般代表类中被处理的数据(变量): 2)类的方法大多数代表对这些数据的处理过程或用于实现某种特定的功能,方法中的代码往往需要访问字段保存的数据. 简单的说,字段即变量,方法即函数.
-
C#面向对象特征的具体实现及作用详解
众所周知,面向对象编程的特点为:封装.继承.多态.C#是一门完全面向对象的语言,由于比Java推出的时间还要晚,所以对面向对象的思想的体现比Java还要完美,那么在C#中如何体现封装.继承和多态呢?下面举例并进行说明. 1.封装 封装的好处有以下几点: ①数据不外泄,可以做到一定的保护 ②类的使用者不用考虑具体的数据运算,方便 ③程序结构性强,层次清晰,便于维护 对相关的字段.方法进行封装固然对面向对象编程起到不可缺少的重要作用,但并不代表不可以访问类或者说具体的实例化对象中的内容,而且为使用者
-
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和行为提取出来,形成一个物理模型(模版),这种研究问题的方法称为抽象一.封装性 封装就是把抽取出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有被授权的操作(方法)才能对数据进行操作. php提供了三种访问控制修饰符 public 表示全局,本类内部,类外部,子类都可以访问 protected 表示受保护的,只有本类或子类可以访问 private 表示
-
C# 面向对象三大特性:封装、继承、多态
面向对象有封装.继承.多态这三个特性,面向对象编程按照现实世界的特点来管理复杂的事物,把它们抽象为对象,具有自己的状态和行为,通过对消息的反应来完成任务.这种编程方法提供了非常强大的多样性,大大增加了代码的重用机会,增加了程序开发的速度,将具备独立性特制的程序代码包装起来,修改部分程序代码时不至于会影响到程序的其他部分. 1.封装 每个对象都包含它进行操作所需要的所有信息,封装只公开代码单元的对外接口,而隐藏其具体实现,尽量不对外公开代码.使用封装有很多好处,从设计角度来讲,封装可以对外屏蔽一些
-
浅谈对c# 面向对象的理解
一.了解面向对象 1.概念基本理解:1).一个个体可以看做是一个对象,例如:人这个个体: 2).有共同属性的一类作为一个个体,例如:学生.白领.农民工: 3).结构体是用户自定义的数据类型,可以定义不同数据类型的变量,结构体也是面向对象的核心: 2.基本特性: 1)封装:是隐藏信息的特性,具有"封装"意识,是掌握面向对象分析与设计技巧的关键. 最简单的理解:创建一个对象的整体,使对象的属性可以具有赋值.取值的功能,也就是对象中的变量可以赋值.取值.,是一种认为的抽象出来的对象的概念.
-
学习面向对象之面向对象的术语
面向对象的术语 类 类作为设计蓝图来创建对象的代码段,它描述了对象的特征:该对象具有什么样的属性,怎样使用对象完成一些任务,他对事件进行怎样的响应等! 对象 对象是类的一个实例,通常通过调用类的一个构造函数来创建它! 方法 方法是在类中定义的函数,一般而言,一个方法描述了对象可以执行的一个操作! 属性 属性是类中定义的变量,类的属性突出刻画了对象的性质或状态.某些情况下,对象的使用者可能不允许改变对象的某些属性,这是因为类的创建者已经规定了那些属性不能被使用者更改.这就比如你只能知道我是男生,但
-
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
一.抽像类(abstract) 在我们实际开发过程中,有些类并不需要被实例化,如前面学习到的一些父类,主要是让子类来继承,这样可以提高代码复用性 语法结构: 复制代码 代码如下: abstract class 类名{ 属性 $name; 方法(){} //方法也可以为abstract 修饰符 function 方法名(){} } 例: 复制代码 代码如下: abstract class animal{ public $name; public $age; //抽象方法不能有方法体,主要是为了让子
-
学习面向对象之面向对象的基本概念:对象和其他基本要素
什么是对象 对象是一件事,一个实体,一个名词,概括来说:万物皆是对象 一个对象保存了某些信息,并知道如何执行某些操作 对象的状态和行为 对象具有状态,状态是对对象的一个或多个属性的描述(如:一个灯 "灯是亮的 这是它的状态") 对象具有行为,行为是对象为为改变自身的状态而发生的作用和反作用(如:一个灯 "把灯关了" 这是它的行为) 面像对象中最原始的单元就是对象 封装 把数据和影响这个数据的操作聚合成一个对象的行为称为"封装" 封装隐藏对象的
-
PHP学习记录之面向对象(Object-oriented programming,OOP)基础【类、对象、继承等】
本文实例讲述了PHP学习记录之面向对象(Object-oriented programming,OOP)基础.分享给大家供大家参考,具体如下: 在面向对象的程序设计(英语:Object-oriented programming,缩写:OOP)中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象,然而在现实世界里我们所面对的事情都是对象,如计算机.电视机.自行车等,我们来看下对象的三个主要特征: 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为. 对象的形态:当施加那
-
Java学习笔记之面向对象编程精解
目录 包 继承 super 关键字 final protected关键字 组合 多态 抽象类 接口 面向对象编程(包.继承.组合.多态 .抽象类.接口) 包 包其实就是类的集合,其本质上其实就是一个文件夹,里面存放的. java 文件里面有我们写的代码,并且包的存在还可以有效解决在实际开发过程中程序员. java文件命名重叠问题,其实就是,一个包里面是能有两个名字相同的.java文件,但是如果是不同的包下就允许这样的情况存在. 我们创建一个包只需要在 src 目录底下去创建就行了,公司里面给报的
-
php学习笔记 PHP面向对象的程序设计
复制代码 代码如下: <?php /* PHP面向对象的程序设计 * * PHP5 * * 数组和对象:都属于PHP的复合类型(一个变量可以存储多个单元) * * 对象比数组更强大,不仅可以存储多个数据,还可以将函数存在对象中 * * 对象的三大特性:封装.继承.多态 * * 面向对象编程(oop) //符合软件工程中的 重用性 灵活性 扩展性 * * 面向对象和面向过程之间的区别 * * 最小的单位:函数 //面向过程 * 最小的单位:对象 //面向对象 * * 什么是对象 近来,新浪管理层开
-
详解JavaScript面向对象实战之封装拖拽对象
目录 概述 1.如何让一个DOM元素动起来 2.如何获取当前浏览器支持的transform兼容写法 3.如何获取元素的初始位置 5.我们需要用到哪些事件? 6.拖拽的原理 7. 我又来推荐思维导图辅助写代码了 8.代码实现 part1.准备工作 part2.功能函数 part3.声明三个事件的回调函数 9.封装拖拽对象 概述 为了能够帮助大家了解更多的方式与进行对比,我会使用三种不同的方式来实现拖拽. 不封装对象直接实现: 利用原生JavaScript封装拖拽对象: 通过扩展jQuery来实现拖
-
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
本文实例讲述了ES6学习笔记之字符串.数组.对象.函数新增知识点.分享给大家供大家参考,具体如下: 1.模板字符串 反引号`` 内用于输入格式化的字符串文本,在``内可以将表达式用${}包含起来 let str=` <!DOCTYPE html> <html lang="en"> <body> <div> <p class="pClass">格式化字符串</p> </div> <
-
JavaScript事件学习小结(三)js事件对象
相关阅读: JavaScript事件学习小结(五)js中事件类型之鼠标事件 http://www.jb51.net/article/86259.htm JavaScript事件学习小结(一)事件流 http://www.jb51.net/article/86261.htm javaScript事件学习小结(四)event的公共成员(属性和方法) http://www.jb51.net/article/86262.htm JavaScript事件学习小结(二)js事件处理程序 http://www
-
Python面向对象编程中的类和对象学习教程
Python中一切都是对象.类提供了创建新类型对象的机制.这篇教程中,我们不谈类和面向对象的基本知识,而专注在更好地理解Python面向对象编程上.假设我们使用新风格的python类,它们继承自object父类. 定义类 class 语句可以定义一系列的属性.变量.方法,他们被该类的实例对象所共享.下面给出一个简单类定义: class Account(object): num_accounts = 0 def __init__(self, name, balance): self.name =
-
每天一篇javascript学习小结(面向对象编程)
1.面向对象的工厂方法 function createPerson(name, age, job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function(){ alert(this.name); }; return o; } var person1 = createPerson("Nicholas", 29, "Software Engineer");
随机推荐
- python解析html开发库pyquery使用方法
- 十二个常见的PHP+MySql类免费CMS系统
- 利用java操作Excel文件的方法
- js replace 与replaceall实例用法详解
- jQuery实现异步获取json数据的2种方式
- Android教程之开机流程全面解析
- 在javaScript中检测数据类型的几种方式小结
- 分享AjaxPro或者Ajax实现机制
- Python多线程、异步+多进程爬虫实现代码
- Python实现批量转换文件编码的方法
- 学习jquery之一
- jquery tools 系列 scrollable学习
- jQuery+正则+文本框只能输入数字的实现方法
- JS简单操作select和dropdownlist实例
- C语言解线性方程的四种方法
- 让apache显示目录列表的配置方法
- 详解Centos下YUM安装PHP的两种方式
- JVM教程之Java代码编译和执行的整个过程(二)
- 分享WCF文件传输实现方法---WCFFileTransfer
- PHP编程中的常见漏洞和代码实例