P4 类、对象、类成员简介

本节内容

类(class)是显示世界事物的模型。

现实中的一架飞机========================>>>抽象为程序世界中的类

类与对象的关系

  1. 对象也叫做实例,是类经过实例化得到的内存中的事宜
    • 有些类不能被实例化,如数学,我们不能说一个数学
  2. 依照类,我们可以创建对象>>>这就是实例化
    • 现实世界中常称对象,程序世界中常称实例,二者并无太大区别,常常混用,不用太纠结。
  3. 使用new操作符创建对象

△14:15开始编写程序>>>接下来我们自己动手来编写程序,创建一个实例。

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace demo2
{class Program{static void Main(string[] args){Form myForm = new Form();myForm.ShowDialog();}}
}

 

  4.引用变量与实例的关系

    Form myForm(引用变量) = new Form()(实例);

    引用变量相当于一个小孩,而实例是一个气球。形象比喻成:一个小孩牵着一个气球。

    *如果气球没有牵着就会飞掉,实例会被垃圾回收给释放掉。

    下面我们来看另外一个例子:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace demo2
{class Program{static void Main(string[] args){Form myForm1;Form myForm2;myForm1 = new Form();myForm2 = myForm1;myForm2.ShowDialog();}}
}

这种情况相当于是两个孩子同时牵着一个气球

常见的有下面三种情况

  1.一个小孩牵着一个气球。

  2.一个小孩没有牵气球。

  3.多个小孩同时牵着一个气球。

 

类的三个成员

1.属性(property)

  *存储数据,组合起来表示类或对象当前的状态。
2.方法(method)

  *由C语言的(function)进化而来,表示类能做什么。

  *工作中90%的时间是在与方法打交道,因为他是类真正做事,构成逻辑的成员。

3.事件(event)!!!善用

  *类或对象通知其他类或对象的机制,为C#特有。

  *善用事件机制非常重要。

  **F1键可以打开MSDN文档

 

某些特殊类或对象在成员方面侧重点不用

  1.模型类或对象重在属性:Entity,Framework。

  2.工具类重点在方法:math,console。

  3.通知类或对象重在事件:Time。

△42分钟编写数据库

△50:36编写WPF的time

接下来我们自己动手来编写一个Time的例子吧。

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;namespace WPFTime
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();DispatcherTimer time = new DispatcherTimer();time.Interval = TimeSpan.FromSeconds(1);time.Tick += Time_Tick;time.Start();}private void Time_Tick(object sender, EventArgs e){this.timeTextBox.Text = DateTime.Now.ToString();//throw new NotImplementedException();
        }}
}

界面代码如下:

<Window x:Class="WPFTime.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPFTime"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"><Grid><TextBox HorizontalAlignment="Left" Height="139" Margin="10,10,0,0" TextWrapping="Wrap" Name="timeTextBox" VerticalAlignment="Top" Width="774" FontSize="48"/></Grid>
</Window>

 

静态成员与实例成员

  *静态(static)成员在语义上表示它是类的成员>>>与生俱来的,不需要实例化

  *实例(非静态)陈冠在语义上表示它是“对象成员”。

  *绑定(binding)指的是编译器如何把一个成员与类或对象关联起来。

  **不可小觑的 . (小数点)操作符

△59:02开始写例子

静态方法示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace demo2
{class Program{static void Main(string[] args){Console.WriteLine("hello world!");}}
}

本节课结束。

 

转载于:https://www.cnblogs.com/YiShen/p/9828348.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.html()和.text()及.val()的区别

.html()和.text()及.val()的区别 .html() .html()&#xff1a;获取集合中第一个匹配元素的HTML内容。这个函数不能用于XML文档。但可以用于XHTML文档 .html( htmlString )&#xff1a;设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档 .html( fun…

PhpStorm之操作数据库

对数据库进行基本的操作 还不清楚如何使用PhpStorm连接本地数据库的朋友看一下我的上一篇博客配置数据库连接点击已经连接好的数据库&#xff0c;找到下图中的 Consoles&#xff0c;然后点击 console(default) 3.在完成上面的操作后&#xff0c;就会发现在编辑器的主页面出现了…

input输入框汇总

required 属性规定必需在提交之前填写输入字段。 如果使用该属性&#xff0c;则字段是必填&#xff08;或必选&#xff09;的。 required"true" H5&#xff1a;required"required" enabled”false” 只读属性 document.getElementById("")…

element-ui el-radio 回显格式为中文 传值格式为数值

<template><!-- 需求:使用 <el-radio> 关于性别单选 前端显示中文&#xff0c;传值为Number --><div class"demo"><!-- 新增部分 --><el-radio-group v-model"newSex" change"openNewRadio"><el-rad…

div的相关操作

div处于页面底部 position:absolute; bottom:0 判断一个div是否存在怎么写 JavaScript&#xff1a;if(document.getElementById(id)!null){alert(存在)} jQuery&#xff1a;if($(#id).length>0){alert(存在)} 判断div中内容为空 var content $("#content").h…

linux的一些基本命令

一、linux的一些基本命令&#xff08;使用的是CentOS7系统&#xff09;&#xff1a; 1、创建用户组&#xff0c;创建新用户并添加到用户组 添加用户&#xff0c;添加用户组命令&#xff1a; 增加用户&#xff1a;useradd -d /usr/username -m username    为用户增加密码&a…

js中获取对象属性的3种方式

js中遍历获取对象属性和方法主要有Object.keys()、Object.getOwnPropertyNames()、for…in… 区别 1、for in会输出自身以及原型链上可枚举的属性。2、Object.keys用来获取对象自身可枚举的属性键。3、Object.getOwnPropertyNames用来获取对象自身的全部属性名 // 创建一个对…

showModalDialog页面

弹出子窗口&#xff0c;代码如下&#xff1a; transpage "相关路径"; //resizable:no;status:0;help:0;dialogWidth:1600px;dialogHeight:900pxposition"窗口尺寸";window.showModalDialog(transpage,window,position);//window.open(); 举个例子,你可以…

oracle中varchar2的储存长度

varchar2最大是4000字节&#xff0c;那么就看你的oracle字符集&#xff1a;&#xff08;select userenv(‘language’) from dual;&#xff09; 如果字符集是16位编码的&#xff0c;ZHS16GBK&#xff0c;那么每个字符16位&#xff0c;2字节&#xff0c;所以可以容纳2000字符。…

SQLSTATE[HY000]: General error: 1030 Got error 28 from storage engine

今天上课程化平台考试&#xff0c;输入平台网址突然报这个错误 可以先df -h 发现/tmp文件使用满了 &#xff0c;清理下不需要的临时文件即可转载于:https://www.cnblogs.com/zwshi/p/sql.html

oracle中的Number的长度定义

Number可以通过如下格式来指定&#xff1a;Field_NAME Number&#xff08;precision &#xff0c;scale&#xff09;&#xff0c;其中precision指Number可以存储的最大数字长度&#xff08;不包括左右两边的0&#xff09;&#xff0c;scale指在小数点右边的最大数字长度&#x…

[NOIP2003]传染病控制题解

题目链接&#xff1a;... 思路&#xff1a; 优化搜索顺序&#xff0c;用DFS按照bfs的思想&#xff0c;从每一层开始搜索&#xff0c;枚举删边。 对于分层&#xff0c;dfs预处理一下就好了。 代码&#xff1a; #include<iostream> #include<cstdio> #include<cst…

Js中parentNode,parentElement,childNodes,children之间的区别

parentElement 获取对象层次中的父对象。 parentNode 获取文档层次中的父对象。 childNodes 获取作为指定对象直接后代的 HTML 元素和 TextNode 对象的集合。 children 获取作为对象直接后代的 DHTML 对象的集合。

springBoot+mybatisPlus小demo

项目介绍&#xff1a;采用restful api进行接口规范 / 项目框架SpringBootmybatis Plus / 采用mysql进行数据存储 / 采用swaggerUI进行前后端业务分离式开发。 开发环境&#xff1a;JDK1.8Mysql8.0.12IDEAL 实现功能&#xff1a;springboot搭建整体框架&#xff0c;MybatisPlus动…

js时间比较方法

中国标准时间转化 Thu May 12 2016 08:00:00 GMT0800 (中国标准时间)--此格式日期无法传到java后台&#xff0c;须格式化&#xff0c;方法如下 var d new Date(Thu May 12 2016 08:00:00 GMT0800 (中国标准时间)); youWantd.getFullYear() - (d.getMonth() 1) - d.get…

[NOI1995]石子合并

题目描述&#xff1a; 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆&#xff0c;并将新的一堆的石子数&#xff0c;记为该次合并的得分。 试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分. 输入输出格…

js中的trim()方法

1.直接使用 string.trim() 浏览器版本限制&#xff1a;JavaScript Version 1.8 2.间接使用<即自己使用正则构造类trim的方法> function myTrim(x) {return x.replace(/^\s|\s$/gm,); }function myFunction() {var str myTrim(" Hello World! &quo…

jQuery中each()的用法

each() 方法规定为每个匹配元素规定运行的函数。 提示&#xff1a;返回 false 可用于及早停止循环。 //输出每个 li 元素的文本&#xff1a; $("button").click(function(){$("li").each(function(){alert($(this).text())}); }); 语法&#xff1a; $(…

BZOJ 4997 [Usaco2017 Feb]Why Did the Cow Cross the Road III

本来想做一道搜索 最后发现是一道并查集的水题 如果两个邻格之间没有路 就把他们合并就行了 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; const int MAXN105; const int MAXM20005; inline …

如何写dblink?

dblink是什么&#xff1f; 是数据库的链接&#xff0c;就像电话线一样&#xff0c;是一个通道&#xff0c;当我们要跨本地数据库&#xff0c; 访问另外一个数据库表中的数据时&#xff0c;本地数据库中就必须要创建远程数据库的dblink, 通过dblink本地数据库可以像访问本地数…