- 博客(10)
- 收藏
- 关注
原创 Singleton单例模式(创建型模式)
为什么要使用单例模式?在软件系统中,有一种特殊的类,必须保证他们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率单例模式的特点?保证一个类仅有一个实例,并提供一个该实例的全局访问点`public class Singleton { private static Singleton instance; private Singleton() { } public static Singleton Instance()..
2020-07-30 21:03:04
141
原创 面向对象的设计模式与原则
面向对象的设计模式与原则设计模式简介设计模式描述了软件设计过程中某一类常见问题的一般性解决方案面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系重新认识面向对象从宏观层面,面向对象的构建方式更能适应软件的变化,能将变化所带来的影响减为最小从微观层面,面向对象的方式更强调各个类的责任,新增加的类不会影响原来类的实现代码,这更能控制变化所带来的影响主要设计原则针对接口编程,而不是针对实现编程优先使用对象组合,而不是类继承封装变化点...
2020-07-30 20:47:13
106
原创 面向对象多态
面向对象多态让一个对象表现多种的状态(类型)实现多态有三种手段1.虚方法步骤:1.将父类的方法标记为虚方法,使用关键字virtual(可以被子类重写)2.子类的方法使用关键字override2.抽象类当我们不知道父类中的函数如何去实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法抽象函数没有方法体,抽象类无法创建对象抽象类的特点1.抽象成员必须标记为abstract,并且不能有任何实现2.抽象成员必须在抽象类中3.抽象类不能实例化4.子类继承抽象类后,必须把
2020-07-24 17:15:35
103
原创 面向对象继承
面向对象继承我们可能会在一些类中,写一些重复的成员,我们可以将这些重复的成员单独封装到一个类中,作为这些类的父类子类继承了父类的属性和方法,但是子类没有继承父类的私有字段,子类并没有继承父类的构造函数,子类会默认的调用父类无参数的构造函数,创建父类对象,让子类可以使用父类中的成员,所以,如果在父类中重写一个有参数的构造函数,无参数的就没有了,子类调用不到,就会报错解决方法:1.在父类中重写一个无参数的构造函数2.在子类中显示的调用父类的构造函数,使用关键字:base()继承的两个特性继承的单根性
2020-07-24 17:13:55
90
原创 c#第七天
c#第七天属性private string name;public string Name{get{return name;} set { name = value; }}一般情况下,字段都会被设置为private,通过属性访问引用参数 refpublic void Swap(ref int x, ref int y){int temp = x;x = y;y = temp;}myMath.Swap(ref score_1, ref score_2);
2020-07-22 16:59:29
154
原创 c#第六天
c#第六天面向过程面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了面向对象面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 、类/// /// 人类/// class Person{public string name;//姓名
2020-07-21 17:56:43
86
原创 c#第五天
c#第五天排序冒泡排序//冒泡排序 //轮数 for (int i = 0; i < array.Length - 1; i++) { //次数 for (int j = 0; j < array.Length - i - 1; j++) { //如果当前数大于后面的数,交换
2020-07-20 18:22:39
112
1
原创 c#第四天
c#第四天枚举enum 枚举名{枚举值1,枚举值2…}枚举是一个值类型,枚举值还可标记一个整型数字予以匹配,默认从0开始计数枚举类型和整型可以进行相互的显式转换结构体Struct 结构体名{结构体内容}//学生结构struct Student{public string name;public char sex;public int age;public string school;public string phoneNumber;}注意:结构体内字段声明不
2020-07-19 09:48:32
59
原创 c#第三天
c#第三天循环结构循环条件循环体while循环语法while(条件表达式){//循环内容}表达式为真,执行循环体,一旦条件表达式为假,循环停止do…while循环语法do{//循环内容}while(条件表达式);先执行循环体,再判断循环条件, 直到条件不满足的时候,循环结束。for循环语法for (循环变量初始化; 循环条件; 循环增量){//循环体}循环条件为真,执行循环体。循环条件为假,跳出循环。两个关键字break关键字switch
2020-07-17 10:14:02
56
原创 c#第二天
c#第二天逻辑运算符作用:描述前后表达式之间的逻辑关系,关系运算符的结果一定是一个bool类型按位与运算&按位或运算|短路与运算&&短路或运算||非!if语句if语句的第一种形式if(条件表达式){语句1;}当条件表达式为真,执行大阔号中的所有语句(语句1),否则,跳过大括号中的所有语句,继续执行大括号后面的语句。if(条件表达式)语句1;语句2;如果条件满足情况下,只执行一条语句,可以不添加大括号,但不推荐这样写。以上条件表达满足后,会执行语句
2020-07-16 14:16:27
264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人