推荐好书:《CLR via C#》 《C# IN DEPTH》(中文名 《深入理解C#》)
学习完课程后,一定要把这两本书好好读读,完成从初级到高级的转变。
方法的由来
- 方法(method)的前身是 C/C++ 语言的函数(function)
- 方法是面向对象范畴的概念,在非面向对象语言中仍然称为函数
- 使用 C/C++ 语言做对比
- 方法永远都是类(或结构体)的成员
- C# 语言中函数不可能独立于类(或结构体)之外
- 只有作为类(或结构体)的成员时才被称为方法
- C++ 中函数可以独立于类之外,称为“全局函数”
- 方法是类(或结构体)最基本的成员之一
- 最基本的成员只有两个 —— 字段与方法(成员变量与成员方法),本质还是数据 + 算法
- 方法表示类(或结构体)“能做什么事情”
- 为什么需要方法和函数
- 目的 1:隐藏复杂的逻辑
- 目的 2:复用(reuse,重用)
- 示例:计算圆面积、圆柱体积、圆锥体积
VS2017 装上 SDK,就可以直接写 C 和 C++。
C++ 函数示例:
#include <iostream>
double Add(double a, double b)
{
return a + b;
}
int main()
{
double x = 3.0;
double y = 5.0;
double result = Add(x, y);
std::cout << x << "+" << y << "=" << result;
return 0;
}
当一个函数以类的成员的身份出现时,它就被称为方法。方法有一个别名叫“成员函数”。
C++ 里面完成了函数向方法的过渡。
C++ 添加类
Student.h:
#pragma once
class Student
{
public:
Student();
~Student();
void SayHello();
};
Student.cpp:
#include "Student.h"
#include <iostream>
Student::Student()
{
}
Student::~Student()
{
}
void Student::SayHello()
{
std::cout << "Hello! I'm a student!";
}
Source.cpp:
#include <iostream>
#include "Student.h"
int main()
{
Student *pStu = new Student();
pStu->SayHello();
return 0;
}