一、新建一个类,用来存放属性和方法( 属性和方法写在同一个类中)。

先新建一个类:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _9._02WeekendHomeWork
{
/*
* 创建人:庞
* 类型:P27 第一题
* 时间:2017.09.02
*
* **/
public class Student
{
/// <summary>
/// 创建自我介绍的方法
/// </summary>
/// <param name="Class"></param>
/// <param name="Name"></param>
/// <param name="Age"></param>
/// <param name="Like"></param>
public void SelfIntroduction()
{
Console.WriteLine("我来自"+Class+"班,我叫"+Name+",我今年"+Age+"岁,我的爱好是"+Like+"。");
} #region 学生属性
/// <summary>
/// 学生班级
/// </summary>
public string Class { get; set; } /// <summary>
/// 学生姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 学生年龄
/// </summary>
public int Age { get; set; }
/// <summary>
/// 学生爱好
/// </summary>
public string Like { get; set; }
#endregion
}
}

然后在入口函数中将上面新建的类进行实例化,并给属性进行赋值,并调用函数(类和入口函数在两个页面上)。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _9._02WeekendHomeWork
{
/*
* 创建人:庞
* 类型:P27 第一题
* 时间:2017.09.02
*
* **/
class Program
{
static void Main(string[] args)
{
//实例化
Student student1 = new Student();
student1.Class = "T806";
student1.Name = "小李";
student1.Age = ;
student1.Like = "唱歌";
//调用函数
student1.SelfIntroduction();
//实例化
Student student2 = new Student();
student2.Class = "T803";
student2.Name = "小黄";
student2.Age = ;
student2.Like = "nv";
//调用函数
student2.SelfIntroduction();
Console.WriteLine("请按任意键继续……");
Console.ReadKey();
}
}
}

显示效果:

二、新建一个类页面,然后在里面新建一个入口函数用来调用方法、实例化、赋值;在下面再新建一个类,用来存放属性和方法。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _9._02WeekendHomeWork.题2
{
/*
* 创建人:庞
* 类型:P27 第2题
* 时间:2017.09.02
*
* **/
public class Class2
{
/// <summary>
/// 创建主程序入口函数
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Console.WriteLine("请输入姓名:");
string name = Console.ReadLine();
Console.WriteLine("请输入年龄,如果您输入的年龄有误,默认为18岁:");
int age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入您的爱好,爱好不能超过20个字符:");
string like = Console.ReadLine();
//给属性赋值
dierti dierti = new dierti();
dierti.Name = name;
dierti.age = age;
dierti.Like = like;
dierti.Check();
Console.WriteLine("请按任意键继续……");
Console.ReadKey(); }
/// <summary>
/// 学生信息类
/// </summary>
public class dierti
{
#region 属性
/// <summary>
/// 输入姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 年龄
/// </summary>
public int age { get; set; }
public string Like { get; set; }
#endregion
/// <summary>
/// 封装方法
/// </summary>
public void Check()
{
Console.WriteLine("\n你刚才输入的姓名:{0}", Name);
if (age < || age == -)
{
Console.WriteLine("年龄:18");
}
else
{
Console.WriteLine("年龄:{0}", age);
}
if (Like.Length > )
{
Console.WriteLine("对不起,爱好不能超过20个字符!");
}
else
{
Console.WriteLine("爱好:{0}", Like);
}
}
}
} }

显示效果:

1.调试的时候要修改启动项,方法步骤如下:

首先:

然后:

三、使用不同的构造函数来创建employ类

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _9._02WeekendHomeWork.题3
{
/*
* 创建人:庞
* 类型:P57 第1题
* 时间:2017.09.03
*
* **/
public class demo03
{
/// <summary>
/// 建立主入口函数
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Employee employee = new Employee();
employee.Method01("小李");
employee.Method02("小杨",,"主管");
Console.WriteLine("请按任意键继续……");
Console.ReadKey();
}
/// <summary>
/// 建立员工类
/// </summary>
public class Employee
{
#region 定义属性
public string Name { get; set; }
public int Id { get; set; }
public string Job { get; set; }
#endregion
/// <summary>
/// 创建方法1
/// </summary>
public void Method01(string Name)
{
Console.WriteLine("我的姓名为{0}",Name);
}
/// <summary>
/// 创建方法2
/// </summary>
public void Method02(string Name,int Id,string Job)
{
Console.WriteLine("我的姓名为{0},员工编号为{1},岗位是{2}。",Name,Id,Job);
}
}
}
}

显示效果:

四、使用方法的重载调用带参数的函数

1.重载的特点:一同三不同

  1. 方法名称一样;
  2. 方法的参数个数不一样;
  3. 参数类型不一样;
  4. 当参数的类型相同时,参数的顺序不一样;

2.注意:方法的重载一定要在同一个类中进行;否则不能称之为重载。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _9._02WeekendHomeWork.题3
{
/*
* 创建人:庞
* 类型:P57 第1题
* 时间:2017.09.03
*
* **/
public class demo03
{
/// <summary>
/// 建立主入口函数
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Employee employee = new Employee();
employee.Method01("小李");
employee.Method02("小杨",,"主管");
Console.WriteLine("请按任意键继续……");
Console.ReadKey();
}
/// <summary>
/// 建立员工类
/// </summary>
public class Employee
{
#region 定义属性
public string Name { get; set; }
public int Id { get; set; }
public string Job { get; set; }
#endregion
/// <summary>
/// 创建方法1
/// </summary>
public void Method01(string Name)
{
Console.WriteLine("我的姓名为{0}",Name);
}
/// <summary>
/// 创建方法2
/// </summary>
public void Method02(string Name,int Id,string Job)
{
Console.WriteLine("我的姓名为{0},员工编号为{1},岗位是{2}。",Name,Id,Job);
}
}
}
}

3.入口函数为静态方法:

 static void Main(string[] args)
{
//chongzai chongzai = new chongzai();
methord("小李");
methord(,"小王");
methord(,"小胡","男");
Console.ReadKey();
}

所以在构造方法时也要标明为静态方法,即要用到static关键字,否则vs会报错:

 public static void methord(string name)
{
Console.WriteLine("我来自T102班,我叫{0},我今年18岁,我的爱好是唱歌。", name);
}

显示效果:

五、方法的重载

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _9._02WeekendHomeWork.题5
{
/*
* 创建人:庞花辉
* 时间:2017.9.03
* 类型:P57 第3题
* **/
class demo05
{
/// <summary>
/// 创建入口函数
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
methord01();
Console.WriteLine("该正方形的边长为{0}", methord01());
methord02();
Console.WriteLine("该长方形的面积为{0}", methord02(,));
methord03();
Console.WriteLine("该圆的面积为{0}", methord03(2.2));
Console.ReadKey();
}
/// <summary>
/// 方法01
/// </summary>
public static void methord01(){
Console.WriteLine("该正方形的边长为5");
}
public static int methord01(int a){
return a * a;
}
/// <summary>
/// 方法02
/// </summary>
public static void methord02()
{
Console.WriteLine("该长方形的长和宽为5,6");
}
public static int methord02(int b,int c)
{
return b * c;
}
/// <summary>
/// 方法03
/// </summary>
public static void methord03()
{
Console.WriteLine("该圆的半径为2.2");
}
public static double methord03(double r)
{
return r * r * Math.PI;
}
}
}

C#中圆周率的书写:

 public static double methord03(double r)
{
return r * r * Math.PI;
}

显示效果:

C# 面向对象之类和方法的更多相关文章

  1. python 面向对象、特殊方法与多范式、对象的属性及与其他语言的差异

    1.python 面向对象 文章内容摘自:http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html   1.__init__() 创建对 ...

  2. OO开发思想:面向对象的开发方法(Object oriented,OO)

    面向对象的开发方法(Object oriented,OO)认为是好文章吧,拿来分享一下(转载) 面向对象的开发方法(Object oriented,OO) 从事软件开发的工程 师们常常有这样 的体会: ...

  3. 【Java基础】【08面向对象_继承&方法&final】

    08.01_面向对象(代码块的概述和分类)(了解)(面试的时候会问,开发不用或者很少用) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块. B:代码块分类 根据其位置和声明的不同,可以 ...

  4. js面向对象 多种创建对象方法小结

    转自js面向对象 多种创建对象方法小结 1.对象字面量 var clock={ hour:12, minute:10, second:10, showTime:function(){ alert(th ...

  5. 面向对象中特殊方法的补充、isinstance/issubclass/type、方法和函数、反射

    一.面向对象中特殊方法的补充 1.__str__ 能将对象名改成你想要的字符串,但是类型还是类 class Foo(object): def __init__(self): pass def func ...

  6. 利用 Python 尝试采用面向对象的设计方法计算图形面积及周长

    利用 Python 尝试采用面向对象的设计方法.(1)设计一个基类 Shape:包含两个成员函数:def cal_area(): 计算并返回该图形的面积,保留两位小数:def cal_perimete ...

  7. day34 反射、面向对象内置方法:如__str__、面向对象的软件开发

    Python之路,Day21 = 反射.面向对象内置方法:如__str__.面向对象的软件开发 几个内置查看的方法使用 .__base__ 查看类的继承结构.mro() 对象找属性的顺序存在里面 -- ...

  8. C语言面向对象的简便方法

    都知道C语言是面向过程的,但是现在软件规模越来越大,通过面向对象的方式可以简化开发.业余时间想了个简单的方法,在C中使用一部分面向对象的基本功能.由于C语言自身的限制,并不完善,只能将就用,聊胜于无, ...

  9. C#面向对象基础类与方法

    C#是纯粹的面向对象编程语言,它真正体现了“一切皆为对象”的精神. 在C#中,即使是最基本的数据类型,如int,double,bool类型,都属于System.Object(Object为所有类型的基 ...

  10. python 3全栈开发-面向对象之绑定方法(classmethod与staticmethod的区别)、多态、封装的特性property

    一.面向对象绑定方法 一.类中定义的函数分成两大类 1.绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入): 1. 绑定到类的方法:用classmethod装饰器装饰的方法. 为类量身定制 ...

随机推荐

  1. JavaScript错误处理和堆栈追踪

    转自:https://github.com/dwqs/blog/issues/49 有时我们会忽略错误处理和堆栈追踪的一些细节, 但是这些细节对于写与测试或错误处理相关的库来说是非常有用的. 例如这周 ...

  2. DELL T110II Server如何通过RAID 级别迁移的方式在OMSA下实现磁盘阵列扩容?

    目录: RAID 转移规则说明 操作步骤 本文介绍了 通过RAID 级别转换来实现扩容的方法注意:本文相关RAID的操作,仅供在测试环境里学习和理解戴尔PowerEdge服务器RAID控制卡的功能和使 ...

  3. Appium、selenium与Robot Framework

    Robot Framework + Appium Appium-Python-Client: 与Appium Library和Appium Server的交互Appium Library通过Appii ...

  4. C# PDF Page操作——设置页面切换按钮 C# 添加、读取Word脚注尾注 C#为什么不能像C/C++一样的支持函数只读传参 web 给大家分享一个好玩的东西,也许你那块就用的到

    C# PDF Page操作——设置页面切换按钮   概述 在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法.示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页.下页.上页或者 ...

  5. Appro DM8127 IPNC 挂载NFS遇到的问题及解决

    对于Appro DM8127 IPNC,默认的启动方式是NAND is used for booting kernel and NAND is used as root filesystem 为了调试 ...

  6. web 开发之js---js 实现文本高亮

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head ...

  7. QVariant(相当于是Java里面的Object,是万能的容器,但要注册)

    这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型“擦除”的作用.比如我们的 table单元格可以是string,也可以是int,也可以是一个颜色值 ...

  8. 【NOIP 2016】初赛-完善程序 & 参考答案

    参考答案 感觉这两题目都挺好的~~ T1 交朋友 简单描述:有n个人依次进入教室,每个人进入会找一个身高绝对值相差最小的人交朋友(相同时更想和高的交朋友),求每个人交的朋友. Solution: So ...

  9. Hadoop安装配置(ubuntu-12.04.2-server-amd64)

    环境如下: ubuntu-12.04.2-server-amd64 hadoop-1.0.4 VirtualBox 1.在VBox中安装Ubuntu Server,用户名和密码都是hadoop,安装完 ...

  10. brew安装PHP7 swoole

    环境: 系统:mac os High Sierra 10.13.3 php版本:7.0.27_19 1.安装homebrew brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在M ...