第十一讲:类和对象的使用

有关类和对象的使用,具体的还是要靠码一段代码出来。如上讲的实例代码,我是创建的类库:

解释一下: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();
        }
    }
}

运行结果是:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值