面向对象基础(一)

举报
Laura_张 发表于 2022/08/26 22:26:09 2022/08/26
【摘要】 文章目录 类与实例构造方法方法重载属性与修饰符 ———————————————————————————————————————————— 类与实例 对象是一个自包含的实体,用一组可识别的...

————————————————————————————————————————————

类与实例

对象是一个自包含的实体,用一组可识别的特性和行为来标识。

类是具有相同属性和功能的对象的抽象的集合。

class,是类的关键字,cat是类的名称,shout是类的方法

class Cat
{
    public string Shout()
    {
        return"喵";
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

类的定义要求:
一、类名称首字母要大写,多个单词则各个首字母大写。
二、对外公开的方法都需要用public修饰符。

实例,就是一个真实的对选哪个,实例化就是创建对象的过程,使用new关键字来创建。

private void button_Click(boject sender,EventArgs e)
{
    Cat cat=new Cat();//将cat类实例化
    //这里的代码实际上是做了两件事
    //Cat cat;//声明一个Cat的对象,对象名为cat
    //cat=new Cat();//将这个cat对象实例化
    MessageBox.show(cat.Shout());
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

cat实例化之后就相当于生出了一只小猫,下面需要用到小猫的时候就可以直接实例化它。

构造方法

构造方法,又叫构造函数,对类进行初始化,构造方法与类同名,无返回值,也不需要void,在new的时候调用。所有的类都有构造方法,如果你不编码那么系统默认生成空的构造方法,如果你有定义的构造方法,那么默认的构造方法会失效。

构造方法是为了对类进行初始化。

class Cat
{
    private string name="";//声明cat类的私有字符串变量name
    public Cat(string name)//定义cat类的构造方法,参数是输入一个字符串
    {
        this.name=name;//将参数赋值给私有变量name
    }
    //类的方法
    public string Shout()
    {
        return"我的名字叫"+name+"喵";
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在客户端填写小猫的名字

private void button_Click(boject sender,EventArgs e)
{
    Cat cat=new Cat"猫咪";
    MessageBox.Show(cat.Shout());
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

方法重载

方法重载提供了创建同名的多个方法的能力,但是这些方法需要使用不同的参数类型,所有的方法都可以进行重载。

在重载方法时,两个方法必须要方法名相同,但是参数类型或个数必须要有所不同,否则重载没有意义。

重载的好处:可以在不改变原方法的基础上,新增功能。方法重载算是提供了函数可扩展的能力。

class Cat
{
    private string name="";
    public Cat(string name)
    {
        this.name=name;
    }
    //将构造函数重载
    public Cat()
    {
        this.name="无名";
    }
    public string Shout()
    {
        return "我的名字叫"+name+"喵";
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

属性与修饰符

属性是一个方法或者一对方法,但是在调用他的代码看来,他是一个字段,即 属性适合于以字段的方式使用方法调用的场合。

字段是存储类要满足其设计所需要的数据,字段是与类相关的变量。

属性的get和set是什么意思?
属性的两个方法get和set,get访问器返回与声明的属性相同的数据类型,表示的意思是调用时可以得到内部字段的值或引用,set访问器没有显示设置参数,但是他有一个隐式参数,用关键字value表示,它的作用是调用属性时可以给内部的字段或者引用赋值。

//声明一个内部子弹,注意是private,默认叫的次数是3
private int shoutNum=3;
//get 表示外界调用时可以得到shoutNum的值,set表示外界可以给内部的shoutNum赋值。
//get是读,set是写。
//ShoutNum属性,注意是public。
public int ShoutNum
{
get{return shoutNum;}
set{shoutNum=value;}
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

修饰符
public 它所修饰的类成员可以允许其他任何类来访问,共有的。

private 表示只允许同一个类中的成员访问,其他类包括它的子类无法访问,私有的。

通常字段都是private,也就是私有的,属性都是public ,公有的变量。(公有的是对外的,所以一般首字母大写,而字段一般首字母小写或者前面加’_’)

protected 表示继承时子类可以对基类有完全访问权,即,有protected修饰的类成员,对子类公开,但不对其他类公开。

文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Laura__zhang/article/details/112977287

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。