大话设计模式面向对象基础

Posted 王思琪^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大话设计模式面向对象基础相关的知识,希望对你有一定的参考价值。

目录

类与实例

什么是类?

什么是对象?

什么是实例?什么是实例化?

构造方法

那么我们实例化的时候,没有写构造方法Cat(),怎么可以调用呢?

方法重载

属性是什么?

属性里有两个方法get和set,那么它们分别是什么呢?

那字段是什么?

修饰符


类与实例

什么是类?

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

什么是对象?

对象是一个自包含的实体,用一组可识别的特性和行为来标识(特指),对象是看得到、摸得着、听到、闻到、感觉到的东西

什么是实例?什么是实例化?

实例就是一个真实的对象,比如:我们都是“人”,而你和我其实就是“人”类的实例。

实例化就是创建对象的过程,使用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:内部访问,只限于本项目内访问,其他不能访问

最基本的内容我们已经了解了,下面来看看封装、继承和多态吧!!

以上是关于大话设计模式面向对象基础的主要内容,如果未能解决你的问题,请参考以下文章

大话设计模式——浅谈设计模式基础

Python《大话设计模式》Python版代码实现

《大话设计模式》Python版代码实现

设计模式之禅和大话设计模式哪个好

[转]c++面向对象基础

大话设计模式.pdf