当前位置: 首页 > news >正文

个人网页在线制作app北京官网seo推广

个人网页在线制作app,北京官网seo推广,重庆哪家网站,杭州房地产网站建设C面向对象编程三大特性为:封装,继承,多态。C认为万事万物皆为对象,对象有属性和行为。比如:游戏里的地图场景可以看作是长方形对象,属性场景id,有长,有宽,可能有NPC&…

C++面向对象编程三大特性为:封装,继承,多态。

C++认为万事万物皆为对象,对象有属性和行为。

比如:

游戏里的地图场景可以看作是长方形对象,属性场景id,有长,有宽,可能有NPC,可能有玩家,可能有怪物...,行为有设置长度,设置宽度,获取长度,获取宽度...

游戏里的玩家可以看作是对象,属性有玩家名字,血量,魔法值,攻击力,技能...,行为有上线下线,有行走,释放技能攻击怪物...

游戏里的怪物可以看作是对象,属性有怪物名字,血量,魔法值,攻击力,技能...,行为有释放技能攻击玩家,可能有行走...

具有相同属性和行为的对象,我们可以抽象称为

比如:

游戏里的地图场景属于场景类

游戏里的玩家属于玩家类

游戏里的怪物属于怪物类

将具有相同属性和行为的对象,抽象为类,并对属性和行为加以权限控制,来表现事物,我们称为封装

定义一个类的语法:

class 类名
{权限控制:行为;权限控制:属性;
};

example:设计一个怪物类,并创建一个怪物,设置怪物id,并打印这个怪物id。

#include <iostream>
using namespace std;class Monster
{//权限控制public://行为void setMonsterId(const int monsterId){m_monsterId = monsterId;}int getMonsterId(){return m_monsterId;}//权限控制private://属性int m_monsterId;
};int main(int argc, char *argv[])
{Monster m;m.setMonsterId(10001);cout << "怪物id = " << m.getMonsterId() << endl;return 0;
}

在设计类的时候,可以把属性和行为放在不同的权限下,控制属性和行为的访问权限。

访问权限有三种:

关键字

权限

访问控制

public

公共权限

类内可以访问,类外也可以访问,子类可以访问

protected

保护权限

类内可以访问,类外不可以访问,子类可以访问

private

私有权限

类内可以访问,类外不可以访问,子类不可以访问

example:设计一个人类,有姓名,有车,有存款属性。人的姓名大家都可以知道的,我们可以设置为公共权限;人拥有一辆车,外人不能用,人的儿子女儿可以拿来用,我们可以设置为保护权限;人拥有多少存款,是私有的,只有自己可以访问。

#include <iostream>
using namespace std;class Person
{//公共权限public:void setName(const string name){m_name = name;}string getName(){return m_name;}void setCar(const string car){m_car = car;}string getCar(){return m_car;}void setMoney(const double money){m_money = money;}double getMoney(){return m_money;}string m_name;//保护权限protected:string m_car;//私有权限private:double m_money;
};int main(int argc, char *argv[])
{Person person;person.setName("Jim");person.setCar("劳斯莱斯");person.setMoney(1000000);cout << "姓名:" << person.m_name << endl; //正确:m_name是公共权限,类外可以访问cout << "姓名:" << person.getName() << endl; //正确:getName()是公共权限,类外可以访问//cout << "车:" << person.m_car << endl; //错误:m_car是保护权限,类外不可以访问cout << "车:" << person.getCar() << endl; //正确:getCar()是公共权限,类外可以访问//cout << "存款:" << person.m_money << endl; //错误:m_money是私有权限,类外不可以访问cout << "存款:" << person.getMoney() << endl; //错误:getMoney()是公共权限,类外可以访问return 0;
}

C++中类(class)和结构体(struct)的区别

在C++中,类(class)默认的访问权限为私有,结构体(struct)默认的访问权限为共有

#include <iostream>
using namespace std;class CMonster
{//没有声明访问权限,默认为私有void setMonsterId(const int monsterId){m_monsterId = monsterId;}int getMonsterId(){return m_monsterId;}int m_monsterId;
};struct SMonster
{//没有声明访问权限,默认为共有void setMonsterId(const int monsterId){s_monsterId = monsterId;}int getMonsterId(){return s_monsterId;}int s_monsterId;
};int main(int argc, char *argv[])
{CMonster cm;//cm.setMonsterId(10001); //错误:类默认访问权限为私有,类外不能访问//cm.m_monsterId = 10002; //错误:类默认访问权限为私有,类外不能访问SMonster sm;sm.setMonsterId(20001); //正确:结构体默认访问权限为共有,结构体外可以访问cout << "怪物id = " << sm.getMonsterId() << endl;sm.s_monsterId = 20002; //正确:结构体默认访问权限为共有,结构体外可以访问cout << "怪物id = " << sm.getMonsterId() << endl;return 0;
}

在设计类的时候,应该将所有成员属性设置为private权限,这样可以自己写get和set方法控制属性的读写权限。可读可写属性,提供get属性方法和set属性方法;只读属性,提供get属性方法;只写属性,提供set属性方法。

#include <iostream>
using namespace std;class Monster
{//共有权限public://行为void setMonsterId(const int monsterId){m_monsterId = monsterId;}int getMonsterId(){return m_monsterId;}void setName(const string name){m_name = name;}string getName(){return m_name;}void setBlood(const int blood){m_blood = blood;}int getBlood(){return m_blood;}//私有权限private://属性int m_monsterId; //怪物idstring m_name; //怪物名字int m_blood; //血量
};int main(int argc, char *argv[])
{Monster m;m.setMonsterId(10001);m.setName("紫衣仙子");m.setBlood(1000);cout << "怪物id = " << m.getMonsterId() << ", 怪物名字 = " << m.getName() << ", 血量 = " << m.getBlood() << endl;return 0;
}

好了,关于C++面向对象三大特性之一:封装,先写到这。

http://www.yayakq.cn/news/763591/

相关文章:

  • 网站建设信(信科网络)网站推广策划案例
  • 关于公司建网站wordpress群发邮件
  • 石家庄网站建设企业品牌营销推广策划方案
  • 南京网站开发注册app广州建设网站外包
  • 东莞医疗网站建设报价C wordpress 分类
  • wordpress分类目录打不开优化官网咨询
  • 现在个人做网站或者app还有收益申请域名就可以做网站了吗
  • 找人做网站需要注意问题烟台seo外包
  • 微网站开发流程图天津建设厅网站首页
  • 手机网站用什么系统郑州装修设计公司
  • 建设网站 织梦歙县建设银行网站
  • 上海网站建设公司招聘怀化刚刚发生的大事
  • 涉密资质 网站建设网易博客搬家wordpress
  • 网站建设前需求调研表专业手机建站公司
  • 寻求网站建设技术抖音seo优化排名
  • python 做网站缺点网络营销软件推广注册赚钱
  • 怎样做电影网站自建网站平台可以实现哪些功能
  • 做有奖竞猜网站违法吗扑克直播软件app开发
  • cn域名注册网站wordpress会员密码有效期
  • 企业网站的建设电话咨询京东网站建设现状
  • 开发网站合同外贸网站用wordpress
  • ui设计师证书优化防控措施
  • 腾讯云快速建站全国旅游卡app
  • 霍林郭勒市建设局网站网站建设销售ppt模板
  • 网站 建设文档网站文件命名
  • 常德建设网站淘宝指数转换工具
  • 宁波网站开发定制营销型网站建设的目标是
  • 莆田企业制作网站网站服务器和网站备案
  • 医疗器械类网站icp备案前置审批外贸网站定制制作公司
  • 屏蔽 wordpress 插件下载做seo是什么意思