面向对象的编程(学习笔记1)
来源:互联网 发布:gta5美女捏脸数据最新 编辑:程序博客网 时间:2024/05/22 16:07
面向对象编程的三个基本概念:
数据抽象
继承
动态绑定
在C++中,用类进行数据抽象,用类派生从一个类继承另一个类:派生类继承基类的成员。动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生在中定义的函数;
面向对象编程的关键思想是多态性。
在C++中,多态性仅用于通过继承而相关联的类型的引用或指针;
继承:
通过继承我们能够定义这样的类,它们对类型之间的关系建模,共享公共的东西,仅仅特化本质上不同的东西。
派生类能够继承基类定义的成员,派生类可以无须改变而使用那些与派生类型具体特性不相关的操作;
因继承而相关联的类为构成一个继承层次。
通过动态绑定,我们能够编写程序作用继承层次中任意类型的对象;
protected成员可以被派生类对象访问但不能被该类型的普通用户访问;
希望禁止派生类访问的成员应该设为private,提供派生类实现所需操作或数据的成员应设为protected;
每个派生类对象包含两个部分:从基类继承的成员和自己定义的成员;
例:
classs B
{
/*...*/
};
class A : public B
{
/*....*/
};
A为B的public 派生类;
每个派生类对象都有基类部分,类可以访问其基类的public 和 protected成员,就好象那些成员是派生类自己的成员一样;
用作基类的类必须是已定义的;
基类本身可以是一个派生类;
派生类的声明:
如果需要声明(但不实现)一个派生类,则声明包含类名但不包含派生列表;
例:
错误:
class A : public B;
正确:
class A;
class B;
数据抽象
继承
动态绑定
在C++中,用类进行数据抽象,用类派生从一个类继承另一个类:派生类继承基类的成员。动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生在中定义的函数;
面向对象编程的关键思想是多态性。
在C++中,多态性仅用于通过继承而相关联的类型的引用或指针;
继承:
通过继承我们能够定义这样的类,它们对类型之间的关系建模,共享公共的东西,仅仅特化本质上不同的东西。
派生类能够继承基类定义的成员,派生类可以无须改变而使用那些与派生类型具体特性不相关的操作;
因继承而相关联的类为构成一个继承层次。
通过动态绑定,我们能够编写程序作用继承层次中任意类型的对象;
protected成员可以被派生类对象访问但不能被该类型的普通用户访问;
希望禁止派生类访问的成员应该设为private,提供派生类实现所需操作或数据的成员应设为protected;
每个派生类对象包含两个部分:从基类继承的成员和自己定义的成员;
例:
classs B
{
/*...*/
};
class A : public B
{
/*....*/
};
A为B的public 派生类;
每个派生类对象都有基类部分,类可以访问其基类的public 和 protected成员,就好象那些成员是派生类自己的成员一样;
用作基类的类必须是已定义的;
基类本身可以是一个派生类;
派生类的声明:
如果需要声明(但不实现)一个派生类,则声明包含类名但不包含派生列表;
例:
错误:
class A : public B;
正确:
class A;
class B;
- 面向对象的编程(学习笔记1)
- 面向对象编程的学习笔记
- C/C++学习笔记(五)面向对象的编程
- 面向对象编程小结(学习笔记)
- 学习笔记之JavaSE(10)--面向对象编程1
- 学习笔记之面向对象编程25(网络编程)
- php面向对象编程笔记(1)
- 精通Visual C++图像编程之面向对象的位图编程小结(学习笔记)
- Python面向对象的编程--Python学习笔记五
- Java学习笔记之面向对象的Java编程
- 学习笔记之浅谈面向对象编程1(对象,类)
- Java面向对象编程-第1章学习笔记
- Java学习笔记--Lesson2(Java面向对象编程)
- 《C#入门经典》学习笔记(面向对象编程)
- python学习笔记(三)之面向对象编程
- 面向对象--java学习(java编程思想)笔记
- MATLAB面向对象编程学习笔记(二)
- MATLAB面向对象编程学习笔记(一)
- 学生成绩管理系统
- hadoop2.0 distcp checksum mismatch
- <linux+qt>使用thread监控串口通信(二)
- 编译安装Nginx
- Linux Crontab 定时任务 命令详解
- 面向对象的编程(学习笔记1)
- Maven学习九:依赖-dependency
- cocos2d-x 项目创建
- [Sybase IQ学习2] 为SAP Sybase IQ 15.1 Demo库建大数据表并验证其性能
- 使用 viewport meta 标签在手机浏览器上控制布局
- OMAP Wireless Connectivity NLCP WiFi Direct Configuration Scripts
- 不用重新配置,用jconsole连接远程机器进程及获得本地进程的JMX Url的终极办法
- 添加第三方类库造成的linker command failed with exit code 1 (use -v to see invocation)的错误调试
- POJ1664:放苹果(DFS)