有关类和对象的使用,具体的还是要靠码一段代码出来。如上讲的实例代码,我是创建的类库:
解释一下:namespace关键字是定义命名空间的,也叫名称空间,它默认是使用你建立项目时的名子。它的作用是:1.对类进行逻辑空间划分,增强可读性。2.避免类冲突,
同时也是为了方便类与类之间的相互调用,是对类的一种包装吧,即待你牛BXX的时候可以建立自己的类库,收集一些算法,或一些经典类。打包成.DLL文件,用的时候引用进来就可以了。空间名是可以更改的。
这里面还有个修饰符的内容,public,internal,protect,protected internal,private,按这个顺序,它们的安全性是越来越高的,那是因为它们可以被调用的可能性越来越小的。
public :允许任何人来访问
internal : 只要在同一个项目(不是方案)中均可以访问
protected : 继承的子类可以对基础有完全的访问权
protected internal : 唯一的一种组合限制修饰符,它只可以被组合体内所有的类和这些类的继承子类所存取
private : 只允许同一个类中的成员访问
没有访问修饰符的成员变量默认使用private修饰符。
其实目前常用的就是public,private。至少我会用到的就这些,其它的要考虑情况还没有。如果木有修饰符,默认是private.
类成员:
数据成员有:
字段
字段是与类相关的变量
实例成员字段
静态字段 static
常量字段 const
只读字段 readonly
readonly与const之间的异同点?只读属性与常量的区别,好像没有什么大的区别吧,都是在程序运行时只能读取不能修改的。
常量
事件 这个概念要等讲委托的时候才有,它是一个数据类型,用来定义方法的,跟Int , string 功能相同。
函数成员
方法
属性 它其实就是对字段的一种封装,公开出去,让调用者读取或修改类的内部属性。
构造函数&析构函数 它们俩的名字都必须与类名相同,作用是相反的。构造函数就是我们在实例化一个类时,对新对象的一种初始化。析构不是很理解,不解释。
运算符 这个你懂的。
上面那些个概念,主要还是要靠自己看书去理解,小菜我还解释不透彻。
//看,我会写类了。类是对象的抽象,对象是类的实现。老师讲了一大坨,
//1. 对象:记住一切皆对象就行了。
//2. 对象的生命周期:跟变量一样,有生命周期,具体请代码测试
//3. 对象与类:类是对象的抽象,对象是类的实现。
//4. 实践,编写用户,商品,讲师类 : 这个是讲了实例,就好比我下面的原代码。只要比着写或是套模板就行。
//5. 面向对象的特征:封装,继承,多态
//6. 类和结构:引用类型和值类型;大数据量操作和小数据量操作
//7. VS2010中的OOP工具:直观形象的类设计工具
//这里在创建新项目时,我选择了类库,如果你想仿我的实例代码,请注意这个细节
namespace Persons
{
/// <summary>
/// 造人
/// </summary>
public class Person //类名 修饰符+类的类型名+自定义类名 注意这个地方是不用括号的,方法才用。
{
string _name; //姓名 字段,对内的。
public string Name //这是属性,对外的
{
get { return _name; }
set { _name = value; }
}
int _age; //年龄
public int Age
{
get { return _age; }
set { _age = value; }
}
float _hight; //身高
public float Hight
{
get { return _hight; }
set { _hight = value; }
}
float _weight; //体重
public float Weight
{
get { return _weight; }
set { _weight = value; }
}
/// <summary>
/// 方法:获取人的详细信息
/// </summary>
public string GetInfo() //修饰符+返回值类型+方法名(需要被传递的参数列表)
{
try //整个异常处理
{
return "姓名:" + _name + ";年龄:" + _age.ToString() + ";身高:" + _hight.ToString() + ";体重:" + _weight.ToString();
}
catch (Exception)
{
throw;
}
}
}
}
接着我又新建了一个项目,在引用中引用了我刚创建的类库。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Persons;
namespace Person
{
class Program
{
/// <summary>
/// 类和对象的使用
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Persons.Person p = new Persons.Person(); //这里是对象对类的实现,也叫实例化一个对象
p.Name = "小样儿";
p.Age = 20;
p.Hight = 172.8f; //因为我的人类中身高是浮点型
p.Weight = 60.8f; //同上,数据类型定义的是float类型的,后缀需要加f
//接收人类中的获取人的详细信息的方法返回的值
string str = p.GetInfo();
Console.WriteLine(str);
Console.ReadKey();
}
}
}
运行结果是: