面向对象 - 类

本文介绍了面向对象编程的重要性和使用场景,强调了面向过程编程在大型项目中遇到的困难以及面向对象作为解决方案的优势。文章通过类的定义,展示了如何设计一个`Human`类,并详细阐述了对象的概念及其与普通变量的区别。通过实例,解释了如何创建和使用对象,以及如何通过指针访问对象的方法。最后,讨论了对象的独立性以及访问权限的限制。

面向对象 - 类

  • 为什么要使用面向对象

    面向过程:
    什么是面向过程?
    根据程序的执行过程,来设计软件的所有细节。
    
    面向过程的缺点:
    开发大型项目时,越来越难以把控,甚至失去控制。
    后期维护、更新成本很大。
    
    解决方案:
    使用面向对象。
    面向对象是一种开发思想,一种全新的开发方式。
    
    面向对象思想的重要性:
    开发大型项目必备,是高级程序员的必备技能!
    
  • 类的定义

    面向对象编程,最重要的第一个概念:类
    “人类”是一个抽象的概念,不是具体的某个人。
    “类”,是看不见,摸不着的,是一个纯粹的概念.
    “类”,是一种特殊的“数据类型”,不是一个具体的数据。
    
    注意:类, 和基本数据类型
    

在这里插入图片描述

类的设计

在这里插入图片描述

  • 设计Human类
#include <iostream>
#include <string>

using namespace std;

// 定义一个“人类”
class Human {
public:  //公有的,对外的
	void eat(); //方法, “成员函数”
	string getName();

private:
	string name;
};

void Human::eat() {
	cout << "吃炸鸡,喝啤酒!" << endl;
}

string Human::getName() {
	return name;
}

int main(void) {
	Human  zhangshan;

	system("pause");
}
  • 对象的使用

  • 什么是对象?

    对象,是一个特定“类”的具体实例。

    对象和普通变量有什么区别?

    一般地,一个对象,就是一个特殊的变量,但是有跟丰富的功能和用法。

    什么时候使用对象?

    对象的具体使用方法

int main(void) {
	Human  h1; // 通过自定义的特殊数据类型“Human”类, 来创建一个“对象”
	
	// 合法使用
	h1.eat();

	// 非法使用
	//cout << "年龄" << h1.getName << endl;  //直接访问私有成员,将无法通过编译

	//正确使用
	cout << "年龄" << h1.getName() << endl; 

	return 0;
}

总结:

\1. “.”的使用

\2. 调用方法时,方法名后需要带一对圆括号()

\3. 通过对象,只能调用这个对象的public方法

分析:

多个不同的对象都有自己的数据,彼此无关。

  • 指针使用法
int main(void) {
	Human  h1; // 通过自定义的特殊数据类型“Human”类, 来创建一个“对象”
	Human *p;

	p = &h1;

	// 合法使用
	p->eat();

	// 非法使用
	//cout << "年龄" << p->getName << endl;  //直接访问私有成员,将无法通过编译

	//正确使用
	cout << "年龄" << p->getNmae() << endl; 

	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值