C#类,面向对象的编程

一.什么是面向对象对象?  

使用面向对象编程为了让结构更加清晰,把程序中的每个功能进行模块化划分,每个模块都提供特定的功能,而且每个模块都是独立的,这种模块化特征提供了非常大的多样性,大大增加代码的重用性.   简单来说面向对象编程就是模块化编程 ,对程序中的变量结构划分 ,让程序更加清晰。

二.为什么不直接给变量赋值?不直接定义方法?

因为既然是设计模块化的类,就是为了让在这个类能够经常的用,减少工作的重复性劳动,举个例子,你想要求得数组从小到大的排序,是否每次都要用到冒泡排序或者其它的算法处理这种事情,会很麻烦,但是有一个类 Array 这个类,这个是c#自己定义的类,用Array.Sort(Array)就可以处理这个问题,其它相同的问题类似,定义一个类,类中定义字段,属性,方法,无论传进来的数组长度如何,大小如何,只要参数以及方法找的对,就能一行代码解决一个问题。

因此,在编程中,当我们遇到问题时,也可以自己定义一个类去完成程序集需要的功能。

.创建类时,第一步首先考虑的是类的封装,也就是类的访问权限,默认情况是internal,类中的属性默认是private。

public:所有对象都可以访问;
private:对象本身在对象内部可以访问;
protected:只有该类对象及其子类对象可以访问
internal:同一个程序集的对象可以访问;
protected internal:访问限于当前程序集或派生自包含类的类型。 

 四.创建类,id是public权限,内部外部都可以访问,而name则是默认的private,只能在Class2中访问。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 类的练习
{
    internal class student1
    {
        public int id;
        string name{ get; set; }
        public void Setid(int id) 
        {
            this.id = id;
        }
        public int Getid() 
        {
            return id;
        }

    }
}

 五.如何访问类,并且调用类中的方法和属性,则需要new对象了,此时student1就是new的对象,这一过程也叫实例化,可以通过student1.方法名,student1.属性,调用方法,属性,student1()为方法中的构造函数。

student1 student1 = new student1();

.构造函数的定义是在new一个对象时,自动调用改方法,构造函没有返回类型在C#中,包括void。构造函数的目的是初始化对象,当创建类的实例时自动调用

public class MyClass  
{  
    public int Number { get; set; }  
  
    // 构造函数  
    public MyClass(int number)  
    {  
        Number = number;  
    }  
}
在这个例子中,MyClass类有一个构造函数,它接受一个int类型的
参数number,并将其赋值给类的Number属性。这个构造函数没有返
回类型它仅仅初始化MyClass的实例。

.构造函数的理解

Student student= new Student(16,"王五");

上述代码表明构造函数也可以重载。

通过构造函数重载 调用了类中的带有两个参数的构造函数
是通过构造函数重载来实现的 
3个条件

 1.参数个数不同 2.参数类型不同3.参数类型顺序不同  实现重载
 根据实例化时传递不同个数不同类型不同顺序的实参 嗲用对应的构造函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值