C++ Primer Plus(学习笔记之——一会儿指南、一会儿指北)

第10章 对象和类

——概念部分
章节知识点大纲:

  • 过程性编程和面向对象编程
  • 类的概念
  • 如何定义和实现类
  • 公有类访问 和 私有类访问
  • 类的数据成员
  • 类方法(类的函数成员)
  • 创建和使用类方法
  • 创建和使用类对象
  • 类的构造函数和析构函数
  • const类型的成员函数
  • this指针
  • 创建对象数组
  • 类作用域(新的作用域类型)
  • 抽象数据类型(如:链表、队列、栈)

面向对象编程(OOP,话说,你有对象吗(^∀^)?当然有啊:对象)是一种特殊的设计程序的概念性方法(翻译成人话就是:面向对象编程就是一门玄学,实际的说,要设计性能优越的类或者类模板或者函数模板,对逻辑思维、抽象思维能力有一定的要求),C++通过增加一些新的特性改进了C语言,使得使用OOP更容易,使用OOP方法时的大概思路:首先从用户角度考虑对象——描述对象所需的数据以及描述用户与数据交互所需要的操作,这第一步被称作对类接口的描述。完成对接口的描述后,需要选定合适的数据类型来存储数据,以及实现接口中的交互操作的代码。最后,设计方案,使用自己设计的类创建出程序。

主要的OOP特性包括:

  • 抽象:从问题的本质出发对问题进行抽象建模的能力,将问题的本质特征抽像出来,然后根据本质特征来描述解决方案,在C++中,就是通过用户自己定义新的类型,实现具备抽象接口的类的设计。

  • 封装和数据隐藏
    封装:
    1、将类的抽象接口的描述(即:类的定义)放到头文件中,而将抽象接口的具体实现放到另一个源文 件中,这是一种封装;
    2、将数据和交互操作的描述都放到类的接口设计中,这是一种封装;

    数据隐藏:
    1、使用关键字public、private(类的默认属性关键字)、protected来限制对不同成员的访问,这是一种数据隐藏技术;(补充知识点:在C++中,其实类是结构体的延伸,结构体的默认关键字是public,所以结构体变量内部的所有数据均可被访问,且结构体只包含数据成员不包含函数成员)

  • 多态
    1、C++中的函数重载是一种多态;
    2、C++中的运算符重载是一种多态;

  • 继承:为了实现代码的重用,C++对于类提供的一种重用现有代码的方法,而且继承这种方法
    还提供了其他一些很方便的特性

  • 代码的可重用性:C++的诞生就是为了提高开发效率(哪门新的语言又不是为了这个目的而诞生的呢?)

——语言知识点部分:
定义类:类规范分为两部分 类声明和类方法定义
头文件中定义类声明:

#ifndef  SOMECLASS_H_
#define SOMECLASS_H_
class someclass
{
	private://private是c++中对于类这种类型(以后均简称类类型)的默认关键字,可以不用写,但是最好写上
		char * name = nullptr;
		/*
		nullptr是C++11中新定义的一个关键字,表是空指针(P447:正文中的Pxxx指的是该知识点在书上的页码,使用的参考书是《C++ Primer Plus》
		中文第六版,2012年第1版),当然依然可以使用NULL或者0来表示空指针,但是最好跟着新的标准使用pullptr;
		此处涉及的另一个知识点是C++11的类内初始化(P465),即:在定义类的时候就可以对类的数据成员进行初始化(以前的C++是不可以这么操作的),
		类内初始化的效果与构造函数中使用成员初始化列表(P464)的效果等价		
		*/
		int age = 0;
		static const int Level  =  0;//
		const int rank;
		static int;//静态类成员(P426),
	public://公有成员,可以通过成员运算符(.)来访问的部分,一般是将类的函数接口放在共有部分
		someclass();//默认构造函数
		someclass();
		char * changename(char * na);
		int changeage(int ag);
	



}


#endif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值