第二天--面向对象与继承

1、winform的复习
->窗体就是一个类,要创建窗体就要创建这个窗体的对象
->创建窗体以后,调用show或showDialog方法才能显示窗体
show方法显示“非模态窗体”,窗体之间没有关系
show方法可以同时显示多个相同的窗体;
showDialog在显示该窗体的时候上一个窗体将不能活动(即窗体之间分层次显示,新一层活动将限制了旧一层的活动)

->Load//窗体加载显示之前执行的一段方法
       可以在构造方法里对窗体初始化(控制窗体位置(startPosition)等。。。Location指的是窗体左上角的坐标)
设定自定义位置使用Manul(开始位置)
修改位置用Location赋值(使用new Point(x,y))
->timer的使用
tick属性:设定timer事件(给timer初始化)
Location=new Point();
enable属性:启动timer事件
可以在一个事件中令 timer.enable=true;来激活timer事件;



============================================


2、代码优化
->方法重载
判断重载是否合理:1、去掉方法返回值以及前面的任何内容;2、去掉花括号的中的方法体;3、如果有参数的方法,将参数名去掉
->方法调用(重用)
做法:将功能相同的方法只写一个,然后在用到的地方再进行调用就可以了
->反编译工具的使用(运行之后,软件已经自行将代码进行了一般的优化,可以通过反编译软件查看)

============================================


3、面向对象
->(找个对象帮自己做事,不用自己亲力亲为)
->三大特征:封装性、继承性、多态性
->在程序里面描述对象:特征(属性(字段、变量))、行为能力(方法);所以描述对象就是写属性和方法
->对象时一个具体的东西

->类:“生产对象的模板”

[public] class 类名
{
//成员
}

对象与类的关系与实际项目有关
创建对象
类名 val=new 类名();
访问对象的成员
对象名.成员
->
注意类成员面前加上public修饰符才允许别人访问,如果不写就是默认为private只能类内访问。
-> 类的内部直的就是class下面的那一对花括号

->类的构造方法
写一个类默认就有一个构造方法
不用手写添加,系统就会自动的生成
初始化对象的时候,使用构造方法初始化对象(就是给字段赋初值)
构造方法是可以重载的
当添加构造方法以后,系统自动生成的无参构造方法就会被此覆盖掉了
如果需要使用必须自己添加无参构造方法
构造方法没有返回值
类在初始化的时候没有显示显示赋值的字段,都会有默认值:数字类型为0;字符类型为‘\0’;字符串和其他类型为null;bool类型为false

->访问修饰符(细节问题)
类型 enum   struct   class
成员 字段    方法

类型的修饰符
public
internal

成员修饰符
public
private

->属性
属性里有两部分:
get:表示此属性若输出的时候所执行的代码
set;表示为此属性赋值的时候执行的代码
属性就是从外界访问字段的渠道
在类的内部赋值的时候直接使用字段即可
如果对字段的赋值有约束、筛选等判断,再使用属性
属性还可以控制输入的逻辑
所有字段设为私有,然后再给他一个属性
属性的本质就是方法
可分为只读属性、只写属性、可读可写属性
****属性不具备存储功能


->自动属性
在使用的时候,大量的get、set属性可能会用到
主要也是程序员“偷懒”的产物,在编译的时候系统会自动将代码“完善”,减少了程序员在写代码的过程中的工作量。

public 返回类型 属性名
{
get;
set;
}

对象 实例=new 对象名();  实例化


->面向对象的思想:找个对象做事
  构造函数:初始化字段
  属性:本质就是方法;一个字段一个属性;自动属性
  
=====================================================================
  
4、继承
在原有的基础上加上某些特征进行拓展
[public] class 子类名:父类名

注意:继承中构造方法的执行
子类在创建对象的时候会调用父类的构造方法
子类在创建的时候会默认的调用父类的构造方法:所以最好在每一个父类都写一个空的构造方法
父类如果有了有参构造方法:
语法
public 子类构造方法():base (参数)
{
//方法体
}
系统会根据base中的参数类型选择调用对应的构造参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值