04_类和对象

Posted eokey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04_类和对象相关的知识,希望对你有一定的参考价值。

一:类和对象基本概念

1.1 基本概念

1)类、对象、成员变量、成员函数
2)面向对象三大概念
封装、继承、多态
3)编程实践
类的定义和对象的定义,对象的使用
求圆形的面积

1.2 类的封装

1) 封装(Encapsulation)
  A)封装,是面向对象程序设计最基本的特性。把数据(属性)和函数(操作)合成一个整体,这在计算机世界中是用类与对象实现的。
  B)封装,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
  备注:有 2 层含义(把属性和方法进行封装 对属性和方法进行访问控制)
C++中类的封装
  成员变量, C++中用于表示类属性的变量
  成员函数, C++中用于表示类行为的函数

2)类成员的访问控制
在 C++中可以给成员变量和成员函数定义访问级别
  Public 修饰成员变量和成员函数可以在类的内部和类的外部被访问
  Private 修饰成员变量和成员函数只能在类的内部被访问

//类是把属性和方法封装 同时对信息进行访问控制
//类的内部,类的外部
//我们抽象了一个类,用类去定义对象
//类是一个数据类型,类是抽象的
//对象是一个具体的变量。。占用内存空间。
class Circle
{
private:
  int a;
public:
  double r;
  double s;
public:
  double getR()
  {
    a++;
    return r;
  }
  void setR(double val)
  {
    r = val;
  }
public:
  double getS() //增加功能时,是在修改类, 修改类中的属性或者是方法
  {
    s = 3.14f*r*r;
    return s;
  }

};
3) struct 和 class 关键字区别
  在用 struct 定义类时,所有成员的默认属性为 public
  在用 class 定义类时,所有成员的默认属性为 private

1.3  对象的构造和析构

前言
  创建一个对象时,常常需要作某些初始化的工作,例如对数据成员赋初值。 注意,类的数据成员是不能在声明类时初始化的。
  为了解决这个问题, C++编译器提供了构造函数(constructor)来处理对象的初始化。 构造函数是一种特殊的成员函数,与其他成员函数不同,不需要用户来调用它,而是在建立对象时自动执行。

  

以上是关于04_类和对象的主要内容,如果未能解决你的问题,请参考以下文章

04 -- 元类和ORM

c++_类和对象

c++_类和对象

Python基础——类和对象

python类和对象-扩展

8类和对象