面向对象详解
在程序的大世界里,我们可以把编程的方法分为两类,面向对象和面向过程(做一下归类),首先说一下面向过程,我们就拿c语言的面向过程来说一下,面向过程主要是算法+数据结构,面向过程是以计算机的行为习惯去考虑问题,所以学习C语言、学习面向过程要花费的时间和精力是相当的多的,但是如果你是做底层开发就要好的功底,但是如果是学习面向对象就完全不一样了,面向对象是以人的思维习惯分析、解决问题,所谓“众生皆平等、万物皆对象”,块如果我们把一下项目中的各个功能模块看成一个对象,然后一个对象有相应的属性的行为,也就是我们需要的方法,那么我们想实现这个项目就会变得轻松的很多,所以如果是做面向过程的项目、底层开发,那么你就要有好的功底,但是你要是做企业级项目,用的面向对象的语言,那么你就可以用面向对象的思想去考虑问题、分析问题,并不是说数据结构和算法不重要,而是面向对象解决问题的方式会在我们构造自己项目的时间解决问题变得轻松很多。
举一个例子,造房子:面向对象写的程序就像3D打印一个房子,面向对象造房子则是像乐高、积木一样,模块化为主,同样一个乐高可以搭建出各式各样的一个房子,我们有图纸,可以根据图纸随意构造,如果需要修改,我们则只需要修改相应图纸对应的地方就可以了,而如果是面向过程,C语言写的程序,则基本上需要推倒重来,重新开始。
面向对象三个特征:继承、封装、多态。
分析对象:特征、行为、方法
好吧,下面我就写一个例子,展现一下面向对象的过程,我们写一个手机的例子吧。
1、对象手机,特征:品牌、颜色、价格、尺寸。
行为:开()、关()、收发短线。
2、写类:
特征->字段;
行为->方法
3、实例化一个手机:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace callPhone1
{
class Phone
{
public string brand { get; set; }
public color color { get; set; }
public decimal price { get; set;}
public string size { get; set;}
public void On()
{
Console.WriteLine("开机");
}
public void SendMessage(string from,string to,string Message)
{
Console.WriteLine($"来自手机{from}已经发送到{to}手机上,信息内容是{Message}", from, to, Message);
}
}
4、类的实现、方法调用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace callPhone1
{
class Program
{
static void Main(string[] args)
{
Phone p = new Phone();
p.brand = "HTC";
p.color = color.土豪金;
p.price = 1999.00m;
p.size = "7.9";
p.On();
Console.WriteLine("-------------------------");
p.SendMessage("13566665555", "13838383838", "短线已经发送");
Console.ReadKey();
}
}
}
至于结果我就不放上面了,调用类的属性和方法是成功的,大家可以自己试一下。