C++程序设计-面向对象

1-1面向对象初探

变量也是Object

Data: the properties  or status; is the core

Operations: the functions对外能提供的服务,给灯通电或者不通电。

map

Problem space --------------Solution space

object  oriented(00)

是一种组织  设计 和实现的思想(Designs&Implementations)

2-2 面向对象基本概念

对象之间通过message进行信息交换

Object send messages

  Messages are

    Composed by the sender

    Interpreted by the receiver

    Implemented by the methods

  Messages

    May cause receiver to change state

    May return the result

Object vs.Class

  Object(cat)

   Represent things,events ,or concepts

  Respond to message at run-time

  Class(cat class)

    Define properties of instances

  Act like types in C++

OOP Characteristics

  1.Evertything is an objetct.

  2.A program is a bunch of objects telling each other what to do by sending messages.

  3.Each Object has its own memory make up of other objects.

  4.Every object has a type.

  5.All objects of a particular type can receive the same messages.

An object has an interface

  The interface is the way it receives messages.

  It is defined in the class the object belong to.

Functions of the interface

  如果有借口,那么可以很方便的换其他东西,做出在程序中可以拆换的东西

  耦合-内聚,耦合性大是我们希望做到的。

  Communication:与外界进行沟通。

  Protection;如果有借口,就可以保护内部的Implementations,外边的借口了还是不变的。

The Hidden Implementation(隐藏实现)

  Inner part of an object, data members to present its state, and the actions it takes

  when messages is rcvd is hidden.

Class creators Vs. Client programmers

  -Keep client programmer‘s hand off portions they should not touch.

  -Allow the class creators to change the interval working of the class without       worrying how it will affect the client programmers.

Encapsulation(封装)

  bundle data and methods dealing with these data together in an object

  Hide the details of the data and action.

  Restrict only access to the publicized methods.

时间: 2024-08-13 04:09:42

C++程序设计-面向对象的相关文章

Javascript高级程序设计——面向对象小结

ECMAScript支持面向对象编程,对象可以在代码执行时创建,具有动态扩展性而非严格意义上的实体. 创建对象方法: 工厂模式:简单的函数创建引用类型 构造函数模式:可以创建自定义引用类型,可以想创建内置对象一样使用new操作符,构造函数的函数无法得到复用,不能共享函数. 原型模式:利用构造函数的prototype属性来指定共享的属性和方法,组合使用构造函数和原型模式时,使用构造函数定义实例属性,原型模式来共享方法. javascript主要通过原型链实现继承,将一个类型的实例赋值给另一个原型对

6. javacript高级程序设计-面向对象设计

1. 面向对象设计 1.1 理解对象 1.1.1 属性类型 (1). 数据属性:相当于对象的字段,包含一个数据值的位置,在这个位置可以读取和写入值.数据属性中有4个描述其行为的特性: l [[Configurable]]:表示能否通过delete删除属性从而重新定义属性 l [[Enumerable]]:表示是否通过for-in循环返回属性 l [[Writable]]:表示能否修改属性的值 l [[Value]]:包含这个属性的数据值 要修改属性默认的特性,必须使用ECMAScript5的Ob

Javascript高级程序设计——面向对象之实现继承

原型链: 构造函数中都有一个prototype属性指针,这个指针指向原型对象,而创建的实例也有指向这个原型对象的指针__proto__.当实例查找方法时先在实例上找,找不到再通过__proto__到原型对象上查找.如果原型对象是另一个类型的实例,那么原型对象包含一个指向另一个原型对象的指针.另一个原型对象中也包含指向另一个构造函数的指针. 原型连继承function superValue(){ this.superValue = "superValue"; } superValue.p

Javascript高级程序设计——面向对象之创建对象

对象创建方法: 工厂方法 构造函数模式 原型模式 组合构造函数和原型模式 寄生构造函数模式 问题构造函数模式 工厂模式: function Person(name, age){ var obj = new Object(); //创建对象 obj.name = name; //添加方法.属性 obj.age = age; obj.sayName = function(){ alert(this.name); } return obj; //返回对象 }var people = Person("y

JavaScript高级程序设计: 面向对象编程

工厂模式 工厂模式虽然解决了创建多个相似对象的问题,但没有解决对象识别问题. function createPerson( name , age , job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function(){ console.log( this.name ); } return o; } var person1 = createPerson('Alice',23,'PHP

python程序设计——面向对象程序设计:继承

继承是为代码复用和设计复用而设计的 在继承关系中,已有的.设计好的类称为父类或基类,新设计的类为子类或派生类 派生类可以继承父类的公有成员,但不能继承其私有成员 如果需要在派生类中调用基类的方法,可以使用内置函数super()或者通过 基类名.方法名() 实现 --------------------------------------------------------------------------- python支持多继承,如果父类中有相同的方法名,而在子类中使用时没有指定父类名, 则

PHP系列(四)PHP面向对象程序设计

php面向对象程序设计 面向对象的优势:可读性.可重用性.稳定性.维护性.可测试性 简单格式: [修饰符]class 类名{ [成员属性] [成员方法] } 完整格式: [修饰符]class 类名 [extends 父类]  [implements 接口 ] { [成员属性] [成员方法] } 成员方法格式: [修饰符] function 方法名(参数){ [方法体] [return返回值] } 修饰符:public  protected  private static  abstract  f

PHP中关于面向对象程序设计的相关简介

PHP面向对象程序设计 面向对象的程序设计(Object Oriented Programming) 一.面向对象程序设计的概念 PHP引进的面向对象的设计方法,将数据及处理数据的相应函数"封装"到一个"类(class)"中.类的实例称为"对象".在一个对象内,只有属于该对象的函数才可以存取该对象的数据. 面向对象的程序设计有三个主要特征:封装.继承和多态. 1.封装 封装是将数据和代码捆绑到一起,避免外界的干扰和不确定性.在PHP中,封装是通过

你好,C++(31)我终于找到对象啦!6.1 从结构化设计到面向对象程序设计

http://www.kuqin.com/shuoit/20150809/347546.html 当C++爱上面向对象 很多第一次进入C++世界的人都会问:C++中的那两个加号到底是什么意思啊? C++是由C语言发展而来的,它比C语言多出的两个加号,实际上是C语言的自增操作符,表示C++语言是在C语言的基础上添加了新的内容而发展形成的.如果其中一个加号代表C++在C语言的基础上增加了模板.异常处理等现代程序设计语言的新特性的话,那么另外一个加号则代表C++在C语言的基础上增加了对面向对象程序设计