C++基础学习第五课(类和对象)

第五课

1,面向过程

步骤化:是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用;

2,面向对象

行为化:面向对象是吧整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为;

3,类

类:是具有相似属性和行为的一组实例集合;

4,对象

对象,即类的实例,各种各样的事物;

5,面向对象四大特征

抽象:指对具体问题(对象)进行概括,抽出一类对象的公共属性和行为并加以描述的过程;

封装:是把每个对象的数据(属性)和操作(行为)包装在一个类中,一旦定义了对象的属性和行为,则必须决定哪些属性和行为只用于表示内部状态,哪些属性和行为在外部是可见的,封装保证了模块具有较好的独立性,使得程序维护修改较为容易;

继承:指一个新类可以从现有的类派生而来,新类继承了现有类的特性,包括一些属性和行为,并且可以修改或增加新的属性和行为,使之适合具体的需要,继承为了重用父类代码,同时为实现多态性做准备;

多态:指类中具有相似功能的同名函数,并根据不同类的对象对同一消息产生的不同行为;

6,类的声明和对象的定义
一 struct、

·在C语言中的struct内,只能包含成员变量,而不能包含成员函数,但是在C++中是可以的;

·C++类将对象的属性抽象为数据成员,将对象的行为抽象为成员函数,并对它们进行封装,数据成员又称成员变量,成员函数又称为方法;

·C++类在形式上类似于C语言中用户自定义的结构类型,但定义类时规定了成员的访问控制权限,对象只能访问所属类的公有成员,而类的私有成员只能在类的成员函数中被访问;

事例:
#include<iostream>
using namespace std;
struct Person//类
{
	int m_age;
	string m_name;
	void SetAll(int age, string name)//初始化
	{
		m_age = age;
		m_name = name;
	}
	int GetAge()//获取成员变量
	{
		return m_age;
	}
	string GetNmae()//获取成员变量
	{
		return m_name;
	}
};
int main()
{
	Person lige;
	lige.SetAll(99, "ligeg");
	cout << lige.GetAge() << "  " << lige.GetNmae() << endl;
	return 0;
}
二 class :

类的定义由class开始,其后为用户定义的类名,花括号括起来的部分称为类体(与结构体类似);

三个访问权限限定符,用来设置成员变量和成员函数的访问属性;

·private :表示成员变量和成员函数是类的私有成员,它们只允许被本类的成员函数访问,数据成员一般定义为private属性;

·public :表示成员变量和成员函数是类的公有成员,它们允许被本类或其它类的成员函数(通过对象)访问或调用,是类的外部接口,成员函数一般定义为public属性;

·protected :表示数据成员和成员函数是类的保护成员,它们允许被本类的成员函数和派生类的成员函数访问或调用;

7,类的声明和成员函数定义分离

·一般将类发定义放在头文件中,类的实现在放在源文件中,而主函数可以放在另一个源文件中;

分离:即把函数的定义放在类的外部实现;

·成员函数的定义方式与其他函数的定义方式基本相同,但必须在成员函数名前面加上类名和作用域限定符;

class Harem 
{
    public:
    //声明:
    void SetAll(int age,string name);
    int GetAge();
    string GetName();
    private:
    int m_age;
    string m_name;
};
//实现:
void Harem::SetAll(int age,string name)
{
    m_age=age;
    m_name=name;
}
int GetAge()
{
    return m_age;
}
string GetName()
{
    return m_name;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值