大话设计模式面向对象基础
Posted 王思琪^
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大话设计模式面向对象基础相关的知识,希望对你有一定的参考价值。
目录
那么我们实例化的时候,没有写构造方法Cat(),怎么可以调用呢?
类与实例
什么是类?
类是具有相同属性和功能的对象的抽象的集合
什么是对象?
对象是一个自包含的实体,用一组可识别的特性和行为来标识(特指),对象是看得到、摸得着、听到、闻到、感觉到的东西
什么是实例?什么是实例化?
实例就是一个真实的对象,比如:我们都是“人”,而你和我其实就是“人”类的实例。
实例化就是创建对象的过程,使用new关键字来创建
构造方法
构造方法又叫构造函数,其实就是对类进行初始化。也就是说,在类创建时,就是调用构造方法的时候了,在Cat cat = new Cat()中,new后边的Cat()其实就是个构造方法。
那么我们实例化的时候,没有写构造方法Cat(),怎么可以调用呢?
其实所有类都有构造方法,如果你不编码则系统默认生成空的构造方法,若你有定义的构造方法,那么默认的构造方法就会失效了
注意:
1、构造方法与类同名,大小写也要一样
2、没有返回值,也不需要void
3、不能return一个具体的返回值
格式
public 类名称(参数类型 参数名称)
{
方法体
}
实例:小猫一出生名字就叫“咪咪”,代码如下
客户端代码
private void button1_Click(object sender,EventArgs e)
{
Cat cat = new Cat("咪咪");//声明一个Cat的对象,对象名为Cat,然后将Cat对象进行实例化
cat.ShoutNum = 5;
MessageBox.Show(cat.Shout());
}
calss Cat
{
private string name = "";//声明Cat类的私有字符串变量name
public Cat(string name)//定义Cat类的构造方法,参数是输入一个字符串
{
this.name = name;//将参数赋值给私有变量name
}
public string Shout()
{
return "我的名字叫" + name + "喵";
}
}
方法重载
方法重载提供了创建同名的多个方法的能力,但是这些方法需要使用不同的参数类型
注意:
1、并不是只有构造方法可以重载,普通方法也可以重载
2、两个方法必须要方法名相同,但参数类型或个数必须要有所不同
好处:方法重载可在不改变原方法的基础上,新增功能
接下来我们看看属性和修饰符
属性是什么?
属性是一个方法或一对方法,但在调用它的代码来看,它是一个字段,即属性适合于以字段的方式使用方法调用的场合
属性里有两个方法get和set,那么它们分别是什么呢?
作用
get和set的作用其实就是为了访问设置变量的,应为封装了原先的变量所以这样可以使数据更加安全;get是可读的,set是可写的
如果只定义get方法,那么这个相应变量就是“只读”的;如果只定义set方法,那么相应变量就是“只写”的
那字段是什么?
字段是存储类要满足其设计所需要的数据,字段是与类相关的变量
修饰符
常用的修饰符有四种:private、public、protected、internal。来看看它们有什么区别吧
private:私有的,只有当前类中可以访问(通常字段使用)
public:公有的,所有类中都可以访问(通常属性使用)
protected:受保护的,子类可以访问
internal:内部访问,只限于本项目内访问,其他不能访问
最基本的内容我们已经了解了,下面来看看封装、继承和多态吧!!
以上是关于大话设计模式面向对象基础的主要内容,如果未能解决你的问题,请参考以下文章