本节内容

类(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

P4 类、对象、类成员简介相关推荐

  1. 04 c++ 类数据成员的地址和类对象数据成员的地址

    2020年10月4日 1,类数据成员和类对象数据成员地址的区别 (1) 类定义是一种类型声明,存在于代码块中,并没有分配内存空间:对类的数据成员取地址,得到的是类的数据成员在类内的相对偏移量: (2) ...

  2. C++对象模型1——类对象的sizeof、static成员、对象模型、this指针

    一.类对象的sizeof 1.空类对象的sizeof class test3{ };int main(int argc, char const *argv[]) { test3 t;cout<& ...

  3. C++类对象在内存中的布局

    目录 一.前言 二.C++ 类对象的内存布局 2.1 只有数据成员的对象 2.2 没有虚函数的对象 2.3 拥有仅一个虚函数的类对象 2.4 拥有多个虚函数的类对象 三.继承关系中的C++类对象内存分 ...

  4. 类对象和类指针深入分析与对比

    1.前言 Student a; s.setName("A");//Studeng *b = new Student(); Student *b; b = new Student() ...

  5. python 类 对象 魔法方法概念+习题

    类 对象 类 对象是c++和java中都有的内容,python定义类的简单语法如下: class 类名: -类变量或者方法 Python 的类定义有点像函数定义,都是以冒号:作为类体的开始,以统一缩进 ...

  6. python创建变量_Python每天一分钟:给类对象动态新增/删除成员变量和方法(函数)...

    一般类对象新增变量或方法的过程 在面向对象(OOP)的编程方法中,如果需要给实例化的类对象新增方法或者属性,一般都是在class类的定义中新增内容,然后才能用类对象来调用新增的方法或变量.如在C++中 ...

  7. 在保护继承中基类的共有成员_c++中的继承

    类的继承,是新的类从已有类那里得到已有的特性.从另一个角度来看这个问题,从已有类产生新类的过程就是类的派生. 派生类的定义 class 派生类名:继承方式 基类名1,继承方式 基类名2 {派生类成员声 ...

  8. 【C++】构造函数 利用构造函数对类对象进行初始化

    7个月之后的补充: 说真的,别再收藏这篇文章了,写的真的很拉跨,建议学习并收藏C++ 六个默认成员函数 + this指针_CPP的底层是哲学的博客-CSDN博客 也是我写的,质量会好很多!!!!!! ...

  9. 继承类 基类的赋值_Chapter10:继承与派生(四)

    之前的文章把继承和派生的基本概念和内部原理都大致理清了.但是类可以视作是一种特殊的数据类型--它也具有转换的功能,称为转型,这一节展开讨论它,以及如何通过指针跨越权限访问不同成员的技巧. 1.类的转型 ...

  10. python tutorial是什么意思_方法类Python Tutorial(九):类 方法类

    题记:写这篇博客要主是加深自己对方法类的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 与其它编程语言比相,Python的类机制加添了最小的新法语和语义.它是C++和Modula- ...

最新文章

  1. 上线随想之2011-03-27
  2. java抓新闻_【图片】【抓取】Java获取各大网站新闻【java吧】_百度贴吧
  3. JFinal 1.1.4 发布,JAVA极速WEB+ORM框架
  4. Hadoop YARN:调度性能优化实践
  5. android从服务检查,android开发分享Android:你如何检查是否启用了特定的AccessibilityService...
  6. Pandas知识点-逻辑运算
  7. 基于spring+quartz的分布式定时任务框架
  8. 运维 --- Nginx高级功能介绍
  9. php超小免杀大马_最新过狗免杀php大马体积最小1KB吗
  10. 疫情期间的中老年众生相:刷抖音/云买菜/直播购物,加速“触网”
  11. B站视频封面图片获取_CodingPark编程公园
  12. QT实现打地鼠小游戏
  13. 人工智能应用实例:图片降噪
  14. VScode快速创建HTML标签
  15. 空间几何变换 之 齐次坐标
  16. 蜗牛星际修改82583V网卡MAC地址
  17. 扬帆致远跨境电商:跨境电商品牌如何锁定真实用户
  18. 《Shopee跨境电商运营实战》笔记(第5~8章)
  19. ios 保存html,iOS 9“保存PDF到iBooks”与HTML
  20. Conda更新速度慢、更换源

热门文章

  1. python 手机编程termux_如何优雅的在手机上进行Python编程?
  2. ios 监听一个控制器的属性_ios - kvo观察者示例(监听类的属性变化)
  3. JVM 学习三:类加载器
  4. matlab 一维 平滑,一维加噪信号的平滑处理(3)
  5. java excel api及详细教程_针对Java Excel API及详细教程
  6. 当面试官问我————为什么String是final的?
  7. php asserttrue,PHP8.0的新特性:错误处理方面已经改进
  8. 终端软件_DMSTerminal现场管控终端软件正式发布
  9. css 解析器 java_Java 的 CSS 解析器 jStyleParser
  10. python绘制如下图形、小三角形边长20_python二级操作题与分析(7)