Kom ihåg mig?
Home Menu

Menu


PHP getters i klasser, funkar det?

 
Ämnesverktyg Visningsalternativ
Oläst 2012-07-31, 05:47 #1
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Så här skulle motsvarande program se ut i C# med de metoder och properties jag var ute efter:

Kod:
using System;
using System.Collections.Generic;

namespace Test
{
	public class Person
	{
		private string _FirstName = "";
		public string FirstName
		{
			get { return _FirstName; }
			set { _FirstName = value; }
		}

		private string _LastName = "";
		public string LastName
		{
			get { return _LastName; }
			set { _LastName = value; }
		}

		public Person(string FirstName, string LastName)
		{
			this.FirstName = FirstName;
			this.LastName = LastName;
		}

		public override string ToString()
		{
			return String.Format("{0} {1}",this.FirstName, this.LastName);
		}
	}
}
Kod:
using System;
using System.Collections.Generic;


namespace Test
{
	class PersonAge : Person
	{
		private int _BirthYear;

		public int BirthYear
		{
			get { return _BirthYear; }
			set { _BirthYear = value; }
		}

		public int Age
		{
			get 
			{
				return (2012 - BirthYear); 
			}
		}

		public PersonAge(string FirstName, string LastName, int BirthYear)
			: base(FirstName, LastName)
		{
			this.BirthYear = BirthYear;
		}

		public override string ToString()
		{
			return String.Format("{0} ({1} år)", base.ToString(), this.Age);
		}
	}
}
Kod:
using System;
using System.Collections.Generic;


namespace Test
{
	class Program
	{
		static void Main(string[] args)
		{

			List<Person> personer = new List<Person>();

			personer.Add(new Person("Fredrik", "Framberg"));
			personer.Add(new Person("Greta", "Gavelstam"));
			personer.Add(new Person("Urban", "Urberg"));
			personer.Add(new Person("Anna", "Ambtesteg"));

			Console.WriteLine("Visa alla Person i personer...");
			foreach (Person person in personer)
			{
				Console.WriteLine(person);
			}

			List<PersonAge> personAges = new List<PersonAge>();
			personAges.Add(new PersonAge("Henrik", "Hammarberg", 1956));
			personAges.Add(new PersonAge("Kristina", "Karlestam", 1983));
			personAges.Add(new PersonAge("Hans", "Hallin", 1967));
			personAges.Add(new PersonAge("Berit", "Bygdén", 1974));

			Console.WriteLine();
			Console.WriteLine("Visa alla PersonAge i personAges...");
			foreach (PersonAge person in personAges)
			{
				Console.WriteLine(person);
			}

			Console.WriteLine();
			Console.WriteLine("Kopiera alla PersonAge till personer...");
			foreach (Person person in personAges)
			{
				personer.Add(person);
			}

			Console.WriteLine();
			Console.WriteLine("Visa alla Person och PersonAge i personer...");
			foreach (Person person in personer)
			{
				Console.WriteLine(person);
			}

			Console.ReadKey();
		}
	}
}
Kod:
Visa alla Person i personer...
Fredrik Framberg
Greta Gavelstam
Urban Urberg
Anna Ambtesteg

Visa alla PersonAge i personAges...
Henrik Hammarberg (56 år)
Kristina Karlestam (29 år)
Hans Hallin (45 år)
Berit Bygdén (38 år)

Kopiera alla PersonAge till personer...

Visa alla Person och PersonAge i personer...
Fredrik Framberg
Greta Gavelstam
Urban Urberg
Anna Ambtesteg
Henrik Hammarberg (56 år)
Kristina Karlestam (29 år)
Hans Hallin (45 år)
Berit Bygdén (38 år)

Senast redigerad av Conny Westh den 2012-07-31 klockan 05:53
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 15:57.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017