类
-
从面向过程到面向对象
面向过程(Procedure Oriented)是一种以操作序列为中心的编程思想编程目的是实现计算机辅助的数据处理
把完成任务需要的命令按一定格式编写,完整的程序要考虑各种可能的操作流程常用的流程,顺序结构、选择结构、循环结构以及递归
面向过程的程序设计不仅要知道要做什么,还要清楚如何通过具体的流程实现这个任务,以及知道写出的代码将会被如何执行
描述事物——具有特定功能的事物就是对象
1.是什么——数据:事物有哪些属性,在这些属性上的值是多少
2.能做什么——函数:包括对事物的各种操作,如计算、判断、修改等
结构体
C语言描述事物的工具,把不同类型的数据组织到一起
struct book
{
char namep[40];
char abstract[200];
char author[20];
int page;
double price;
}
- 类是结构体的延伸
在面向过程的基础上,要告诉计算机如何把数据与相关联的函数组织在一起——编写类
class 类名
{
…… //类={数据成员(是什么)+函数成员(能做什么)+访问权限}
}
- 类是类型的延伸
- 日期
示例:1949-10-1
存放一个日期需要几字节
比大小、星期几…
编写关于“日期”及其功能的代码——类
安排能够存放具体某个日期的容器——对象
对对象实施某些它能做的操作
- 设计日期类
从struct到class
结构体是若干个数据项的联合/组合/捆绑
添加行为
#include<iostream>
struct date //class date
{
int year,month,day; //定义结构体类型
//添加函数--能做什么
void Show() //显示日期
bool LeapYear() // 判断是否是闰年
//bool类型,数据取值只能为true or false
int Weekday() //判断当前日期为星期几
}
int main()
{
struct date d; //定义名为d的结构体变量
d.year=2017; //如何访问结构体变量的域
d.month=10;
d.day=18;
}
//从结构体延伸到类 ,换保留字——class
添加访问权限
#include<iostream>
class CMyDate
{
private: //用保留字private规定禁止外部访问
int year,mmonth,day; //数据部分,通常不允许外部访问,与结构体不同
public: //规定允许外部访问
void Show();
bool Leapyear();
int Weekday(); //函数部分,允许外部访问
}
//类是在结构体上仅有数据成员的基础上,添加函数成员和访问权限的构成
定义一个类,相当于一个新的类型
访问权限有:public,private和protected三种(缺省为private)
类的名称通常以大写C开头
- 设计Java的类
class MyDate
{
private int year,month,day; //数据成员&结构体变量
public void Show()
{……}
public boolean LeapYear()
{……}
public int Weekday()
{……}
}
Java语言面向对象,编写程序就是编写一个个类
语法规则:
1.格式框架略有差异,}之后无分号
2.每个成员分别规定访问权限,无冒号,称“方法成员”
C++与Java的定义类的区别
C++允许后一成员沿用前一成员的权限设定
Java要求每个成员指定访问权限
C++与Java关于类的区别
C++ Java
数据成员 也称实例变量
函数成员 也称方法成员,简称方法
来源:CSDN
作者:WildeZzz
链接:https://blog.csdn.net/weixin_46388164/article/details/104819101