C plus plus study note (one)
What is an object ?
Object = Entity ;
Object may be
- -- visible or
- -- invisible
Object is variable in programming languages.
Objects = Attributes + Services
What is Object-oriented
A way to organize
- Designs
- Implementations
Objects send messages
Messages are
- -Composed by the sender
- -Interpreted by the receiver
- -Implemented by methods
Messages
- May cause receiver to changer state
- May return results
Object vs. Class
OOP characteristics
- A program is a bunch of objects telling each other what to do by sending messages.
- Each object has its own memory made up of other objects
- Every object has a type.
- All objects of a particular type can receive the same messages.
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 programmers' hands off portions they should not touch
-Allow the class creators to change the internal working of the class without worrying about 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 the action.
Restrict only access to the publicized methods.
C plus plus study note (one)的更多相关文章
- Beginning Scala study note(9) Scala and Java Interoperability
1. Translating Java Classes to Scala Classes Example 1: # a class declaration in Java public class B ...
- Beginning Scala study note(8) Scala Type System
1. Unified Type System Scala has a unified type system, enclosed by the type Any at the top of the h ...
- Beginning Scala study note(7) Trait
A trait provides code reusability in Scala by encapsulating method and state and then offing possibi ...
- Beginning Scala study note(6) Scala Collections
Scala's object-oriented collections support mutable and immutable type hierarchies. Also support fun ...
- Beginning Scala study note(5) Pattern Matching
The basic functional cornerstones of Scala: immutable data types, passing of functions as parameters ...
- Beginning Scala study note(4) Functional Programming in Scala
1. Functional programming treats computation as the evaluation of mathematical and avoids state and ...
- Beginning Scala study note(3) Object Orientation in Scala
1. The three principles of OOP are encapsulation(封装性), inheritance(继承性) and polymorphism(多态性). examp ...
- Beginning Scala study note(2) Basics of Scala
1. Variables (1) Three ways to define variables: 1) val refers to define an immutable variable; scal ...
- TestNG Study Note 1 - Eclipse 插件安装
TestNG 插件在线安装 Help -> Install New Software -> Add -> Paste TestNG url to Add: http://testn ...
- CCJ PRML Study Note - Chapter 1.6 : Information Theory
Chapter 1.6 : Information Theory Chapter 1.6 : Information Theory Christopher M. Bishop, PRML, C ...
随机推荐
- eclipse构建maven+scala+spark工程 转载
转载地址:http://jingpin.jikexueyuan.com/article/47043.html 本文先叙述如何配置eclipse中maven+scala的开发环境,之后,叙述如何实现sp ...
- Java的文件读写操作
file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...
- ORA-12537: TNS:connection closed
http://www.vitalsofttech.com/ora-12537-tnsconnection-closed/ Question: When trying to establish a sq ...
- #region Json转DataTable
#region Json转DataTable private DataTable Json2Dtb(string json) { JavaScrip ...
- Eclipse+maven+scala2.11.8+spark2.0.0的环境部署
主要在maven-for-scalaIDE纠结了,因为在eclipse版本是luna4.x 里面有自己带有的maven. 根据网上面无脑的下一步下一步,出现了错误,在此讲解各个插件的用途,以此新人看见 ...
- VS配置路径和宏
http://blog.csdn.net/puttytree/article/details/7838419
- SQL Server 取日期时间部分
在本文中,GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate() 用DateName()就可以获得相应的年.月.日,然后再把它们连接起来就可以了: ...
- 使用rsync和scp远程同步文件
rsync1. rsync可以通过ssh隧道的方式传输文件夹: rsync -arv --progress clone user@host:remotedir loaldir . rsync通过ssh ...
- PHP interface(接口)的示例代码
<?php class DocumentStore { protected $data = []; public function addDocument(Documentable $docum ...
- 携程Ctrip DAL的学习1
携程Ctrip DAL的学习 1 本人net开发菜鸟,原理请自行看github的官网源码. 我这里是简单的使用(helloworld的水平). Ctrip DAL是携程框架部开发的数据库访问框架,支持 ...