不足
学习的内容总是有些遗漏,总会有些学的不够全面
内容
1. 构造函数
构造函数是在创建给定类型的对象时执行的类方法
构造函数具有与类相同的名称
构造函数通常初始化新对象的数据成员
构造函数是用来产生实例的
2. 设计模式的原则
(1)单一职责原则:就一个类而言,应该仅有一个引起它变化的原因
(2)开放-封闭原则:软件实体(类、模块、函数等等)应该可以扩展,但是不可修改
(3)依赖倒转原则:
a.高层模块不应该依赖低层模块。两个都应该依赖抽象。
b.抽象不应该依赖细节。细节应该依赖抽象。
(4)里氏替换原则:子类型必须能够替换掉它们的父类型
(5)迪米特法则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
3. 抽象类、接口、对象
抽象类是本体的抽象,接口是行为的抽象
抽象类表示的是这个对象是什么。例如:猫和狗都是动物
接口表示的是这个对象能做什么。例如:猫和狗都喝水
对象就是比如动物是类,猫就是对象,狗也是对象(世间万物都是对象,对象是实体)。
抽象类和接口都是由对象抽象而得。
4. 面向对象和面向过程
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
5. 面向对象的三个特性
(1)封装:把具有相同属性的对象抽象出来,封装成类,使用方便
如:
student zhangsan=new student()
(2)继承:子类继承父类,子类可以使用父类所允许子类继承的内容。子类重用父类的代码,避免重复。
如 :
public class student
{
}
public string zhangsan:student
{
}
(3)多态:同一个操作作用于不同的对象时,可以有不同的解释,产生不同的执行效果。
public class student
{
public virtual string eat()
{return "ccc"}
}
public string zhangsan:student
{
public override string eat()
{return "xxx"}
}
public string lisi:student
{
public override string eat()
{return "hhh"}
}
总结
这么久的学习,总是有一种学的不是很透彻的感觉,有一种迷迷糊糊的感觉,说会吧,又说不出所以然来,想要深入学习,却又不知从何处入手,再怎样学习;说不会吧,可是好像心里又是明白的。总之,感觉很模糊。不过,学习是不会停止的,相信以后会一解迷惑的。