一.什么是设计模式?
“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复的劳动”
二.面向对象,面向过程的区别和联系
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步的实现,使用的时候一个一个依次调用就可以了。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。
举例:
(面向过程)
把大象装进冰箱里边,总共分为几步?
把冰箱门打开
把大象装进去
把冰箱门关上
简单来说就是分析出问题所需要的步骤,然后用函数把这些步骤一步一步的实现,使用的时候一个一个的调用就可以了。
(面向对象)
面向对象是种具有对象概念的程序编程范型,同时也是一种程序开发的抽象方针,它可能包含数据、属性、方法与代码,对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用行、灵活性和扩展性,对象里的程序可以访问及疆场修改对象相关联的数据。
冰箱->开门
冰箱->装大象
冰箱->关门
三.抽象类和类的区别?
先来个自己的理解:
举个栗子:比方说有单元楼、 有别墅 、有平房子、 有瓦房 、有土房。
而这些房子都有一些共同的属性和功能,比如:能装东西、住人、有门窗等。
所以把他们能再思想上升一下就变成了房子。
再看一下官方的:
1.抽象类声明时要使用abstract关键字来定义,而普通类可以使public,private等;2.抽象类里的方法不能有方法的主体,只能是方法的声明,例如 abstract void AMetho,而普通类的方法可以有主体。
3.抽象类被继承时。子类必须实现它的所有方法,而普通类不需要;
4.抽象类的方法在扩展性和延伸性方面要比普通类的好;
5、抽象类可以应用多态,但是普通类不可以。
四、构造方法
构造方法,又叫构造函数,其实就是对类进行初始化。构造方法与类同名,无返回值,也不要void,在new 时候调用。
Class Cat
{
public Cat
{
}
}
Cat cat = new Cat(); new后面的Cat()其实就是构造方法。
但是没有在类中写过也可以调用,原因:所有类都有构造方法,如果你编码则系统默认生成空的构造方法,若你有定义的构造方法,那么默认的构造方法就会失效。
五、重载
定义:方法名相同,参数类型不同,参数个数,返回类型可以相同,也可以不同。
具体规范:
1.方法名一定要相同。
2.方法的参数表必须不同,包括的参数的类型或个数,依次区分不同的方法体。
(1)如果参数个数不同,就不管它的参数类型了。
(2)如果参数个数相同,那么参数的类型必须不同。
3.方法的返回类型,修饰符可以相同,也可以不同。