【C#】C#中的面对对象

【面对对象】

面向对象程序设计(Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发的方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。


【C#介绍】

C#语言是一种现代、面向对象的语言。面向对象程序设计方法提出了一个全新的概念:类,它的主要思想是将数据(数据成员)及处理这些数据的相应方法(函数成员)封装到类中,类的实例则称为对象。

对象是类在内存中的实体,类不但用于描述对象在内存中的数据,还包括处理这些数据的函数。类是对数据和处理数据的方法(函数)的封装。类是对某一类具有相同特性和行为的事物的描述。也就说类用于定义对象的长相。


【C#概念总结】

抽象:

     抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。
 继承:
     继承是指一个对象直接使用另一对象的属性和方法。
 C#中索引器的作用:
     C#通过提供索引器,可以象处理数组一样处理对象。特别是属性,每一个元素都以一个get或set方法暴露。索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。
 委托:
     委托是一种在对象里保存方法引用的类型,同时也是一种类型安全的函数指针。委托是引用类型的变量,他可以包含对方法的引用,当程序必须通过调用一个方法来执行某个操作,但在编译时不知道该方法是什么时,就可以使用委托。委托允许在程序运行时指定调用的方法,委托的特点是面向对象的,类型是安全的。
 事件:
     事件是一种特殊的委托
 运算符重载:
     运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。


【实例分析】

现在我们来定义一个Person类,该此类实例化

<span style="font-family:SimSun;font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Person
{
    class Person
    {
        private String name="田七";//类的数据成员声明
        private int age=20;
        public void Display()//类的方法(函数)声明,显示姓名和年龄
        { 
            Console.WriteLine("姓名:{0},年龄:{1}",name,age);
        }
        public void SetName(string PersonName)//指定修改姓名的方法(函数)
        { 
            name=PersonName;
        }
        public void SetAge(int PersonAge)//指定修改年龄的方法(函数)
        { 
            age=PersonAge;
        }
        public Person(string Name,int Age)//构造函数,函数名和类同名,无返回值
        { 
            name=Name;
            age=Age;
        }
        public Person()        //类的构造函数重载
        {
            name = "王五";
            age = 23;
        }
        class Class
        {
            static void Main(string[] args)
            {
                Person OnePerson = new Person ("张三",21);    //生成类的对象
                OnePerson .Display ();
                OnePerson .SetName ("李四");
                OnePerson .SetAge (22);
                OnePerson .Display ();
                OnePerson =new Person ();
                OnePerson .Display ();

            }

        }
        
    }
}
</span>


【C#知识注意事项】

在类(class)中,不能直接修改Person类中的私有成员

     OnePerson.name="王五"; 

通过Person类中公有方法SetName 修改Person类中的私有成员name.

析构函数:用语句Person OnePerson=new Person("李四",30)生成对象时,将调用有参数的构造函数,而用语句Person OnePerson=new Person()生成对象时,调用无参数的构造函数。由于析构函数无参数,因此,析构函数不能重载。

运行后的结果:


【小结】

C#其实真正带领自己进入面向对象的世界,精彩才刚刚开始,以后的路更美好。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值