先要了解对象的概念
对象
对象可以是现实世界中的任何一个事物,比如说书桌,计算机等。
在想,对象是有什么组成的呢。属性,方法。
也可以说分为静态和动态部分
静态:就是自身所具有的属性
动态:具备静态属性后有哪些行为/方法就称为动态部分
实例
类
类的概念
类是同一事物的统称,比如说:鸟类
在想对象就是一个事物对应的实体
类是封装对象的属性和行为的载体,也可以说,具有相同属性和行为的一类实体称为类。
面对问题时,先需要实例化,在拿(对象:这只大雁)去解决需求
在说,对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的
扫描二维码关注公众号,回复: 14784460 查看本文章
类包括对象的属性和方法
一个对象是类的一个实例
类的使用
类包含什么
类是一种数据结构,包含数据成员(常量和变量),函数成员(方法,属性,构造函数和析构函数)和嵌套函数
类的成员
包含
字段,属性,方法,构造函数
字段
概念
也就是程序开发过程中的常量和变量
实例
//求圆的面积
static double r;
const double PI = 3.14;//常量
static void Main(string[] args)
{
Console.WriteLine("亲输入半径");
Program.r=Convert.ToDouble(Console.ReadLine());
Console.WriteLine("面积为:" + PI * Math.Pow(r, 2));//Math.Pow方法返回指定某个数的指定次幂
Console.ReadKey();
}
属性
声明和概念
(权限修饰符) (类型)(属性名){
get{get访问器}
set{set访问器}
}
属性的概念:属性是对现实实体特征的抽象,提供对类或对象的访问
修饰符:指定属性的访问级别
类型:属性的类型
属性名:和变量的命名规则一样,首字母大写
get访问器:相当于一个具有属性类型返回值的无参数方法,return
set访问器:相当于一个具有单个属性类型值参数和void返回类型的方法,value
练习
private int age;//字段
public int Age//属性
{
get {// get访问器
return age;
}
set {
if(value > 0 &&value<70)
{
age = value;
}
else {
Console.WriteLine("输入的不合理");
}
}
}
static void Main(string[] args)
{
Program pro = new Program();
while(true) {
Console.WriteLine("输入年龄");
pro.Age = Convert.ToInt32(Console.ReadLine());
}
构造函数
特征
构造函数没有返回值
构造函数的名称与本类的名称相同
练习
//定义类的时候,定义了有参数的构造函数,这时如果还想要使用默认构造函数,就需要进行显式定义。
static Program()
{
Console.WriteLine("static");//一次调用
}
private Program()
{
Console.WriteLine("实例构造函数");//每次调用
}
static void Main(string[] args)
{
Program p1 = new Program();
Program p2 = new Program();
Console.ReadLine();
}
析构函数
概念
析构函数主要用来释放对象资源,当某个类的实例被认为是不在有效的,就符合析构条件,.net类库就会自动调用析构函数
~Program()
{
}
总结
构造函数和析构函数是比较特殊的两个成员函数,用来对象进行初始化和释放对象资源,对象的声明周期从构造函数开始,析构函数结束
权限修饰符
三大特征
封装
也就是将对象的属性和方法封装起来,载体是类。类对客户隐藏其实现的一些细节,这也就是封装的思想。
封装的优点
保证了类内部的数据结构的完整性,确保用户不能看到类的数据结构,只能看到允许公开的数据。
继承
实例
解释
以矩形为例子,矩形有四边形的一些属性和方法,也有矩形自身所特有的一些属性和方法
也可以说,继承是实现重复利用的一种方式,子类通过继承父类的属性和方法的同时,又添加了子类特有的属性和方法
多态
概念
将父类对象应用于子类的特征就是多态
也可以说,子类继承父类特征的同时,也具备自己的特征,并且能够实现不同的效果,这也就多态化的结构