En Güncel Flashlar

Kişisel Portföy Sitesi TemplatesiKişisel Portföy Sitesi TemplatesiKişisel, kendinize özel yapacağınız sitelerinizde gayet işe yarayacaktır. Hangi sektör olursa olsun, her sektöre uyum sağlayabilecek bit templatedir....

İncele

Adobe Flash Player Versiyon 10 YükleAdobe flash player ailesine yeni bir kalite daha kattı. Adobe flash player 10...

İncele

Home Refinance LoanOto Galeri İçin Flash Templateler - Tm 15522 İndir Oto galerileri için güzel, basit bir flash site templatesidir. Özellikle sıfır araç satışı yapan firmalar için gayet uygun olabilecek bir templatededir....

İncele

Flash Patlama Ses Efektleri 55 adetFlash dökümanlarınızda kullanabileceğiniz çeşit çeşit ses dosyalarını bulabileceksiniz...

İncele

Flash AS3 DersleriActionScript 3.0 ile ilgili öğrenmek istediğiniz herşey blogumuzda...

İncele

Rss

Flash As3 te Paketler Nasıl İçe Aktarılır

Gönderen graficihad | Etiketler: cs3 paket aktar, flash as3 ders, flash as3 içe aktar, flash paketler | Posted on 1 Eylül 2009 Salı

Bir paketin içindeki sınıfı kullanmak istiyorsanız, paketi veya belirli sınıfı içe aktarmanız gerekir. Bu, sınıfların içe aktarılmasının isteğe bağlı olduğu ActionScript 2.0'dan farklılık gösterir.

Örneğini bu bölümün başlarındaki SampleCode sınıfı örneğini göz önünde bulundurun. Sınıf, samples adında bir pakette kalıyorsa, SampleCode sınıfını kullanmadan önce aşağıdaki içe aktarma deyimlerinden birini kullanmanız gerekir:

import samples.*;

veya

import samples.SampleCode;
 

Genelde, import deyimleri olabildiğince belirli olmalıdır. samplespaketinden yalnızca SampleCode sınıfını kullanmayı planlıyorsanız, sınıfın ait olduğu paketin tamamını değil, yalnızca SampleCode sınıfını içe aktarmanız gerekir. Paketin tamamının içe aktarılması, beklenmeyen ad çakışmalarına yol açabilir.

Sınıf yolunuzun içine, paketi veya sınıfı tanımlayan kaynak kodunu da yerleştirmeniz gerekir. Sınıf yolu, derleyicinin içe aktarılan paketleri ve sınıfları nerede arayacağını belirleyen yerel dizin yollarının kullanıcı tanımlı bir listesidir. Sınıf yolu bazen oluşturma yolu veya kaynak yolu olarak da adlandırılır.

Sınıfı veya paketi düzgün şekilde içe aktardıktan sonra, sınıfın tam nitelendirilmiş adını (samples.SampleCode) veya yalnızca sınıf adını (SampleCode) kullanabilirsiniz.

Tam nitelendirilmiş adlar, aynı ada sahip sınıflar, yöntemler veya özellikler belirsiz koda neden olduğunda kullanışlıdır ancak tüm tanımlayıcılar için kullanıldığında yönetimleri zor olabilir. Örneğin, bir SampleCode sınıf örneğini başlattığınızda, tam nitelendirilmiş ad kullanılması, ayrıntılı bir kod verir:

var mySample:samples.SampleCode = new samples.SampleCode();

Yuvalanmış paketlerin düzeyleri arttıkça, kodunuzun okunabilirliği de azalır. Belirsiz tanımlayıcıların sorun yaratmayacağından emin olduğunuz durumlarda basit tanımlayıcıları kullanarak kodunuzun okunmasını kolaylaştırabilirsiniz. Örneğin, yeni bir SampleCode sınıf örneğinin başlatılması, yalnızca sınıf tanımlayıcısının kullanılmasına göre daha az ayrıntılıdır.

var mySample:SampleCode = new SampleCode();

Önce uygun paketi veya sınıfı içe aktarmadan tanımlayıcı adlarını kullanmayı denerseniz, derleyici sınıf tanımlarını bulamaz. Diğer yandan, paketi veya sınıfı içe aktarırsanız, içe aktarılmış bir adla çakışan bir adı tanımlama girişiminde bulunulduğunda bir hata oluşur.

Bir paket oluşturulduğunda, o paketin tüm üyeleri için varsayılan erişim belirticisi internal olur, başka bir deyişle, varsayılan olarak paket üyeleri yalnızca o paketin diğer üyelerine görünür. Bir sınıfın, paket dışındaki kod için kullanılabilir olmasını istiyorsanız, o sınıfın public olduğunu bildirmeniz gerekir. Örneğin, aşağıdaki paket iki sınıf içerir: SampleCode ve CodeFormatter:

// SampleCode.as file
package samples
{
public class SampleCode {}
}

// CodeFormatter.as file
package samples
{
class CodeFormatter {}
}

SampleCode sınıfı, public sınıfı olarak bildirildiğinden, paket dışında da görünebilir. CodeFormatter sınıfı ise yalnızca samples paketinin içinde görünebilir. CodeFormatter sınıfına samples paketinin dışında erişmeye çalışırsanız, aşağıdaki örnekte gösterildiği gibi bir hata oluşturursunuz:

import samples.SampleCode;
import samples.CodeFormatter;
var mySample:SampleCode = new SampleCode(); // okay, public class
var myFormatter:CodeFormatter = new CodeFormatter(); // error

Her iki sınıfın da paket dışında kullanılabilir olmasını istiyorsanız, her iki sınıfın public olduğunu bildirmeniz gerekir. Paket bildirimine public niteliğini uygulayamazsınız.

Tam nitelendirilmiş adlar, paketler kullanılırken oluşabilecek ad çakışmalarının çözümlenmesinde kullanışlıdır. Sınıfları aynı tanımlayıcı ile tanımlayan iki paketi içe aktarırsanız böyle bir senaryo gerçekleşebilir. Örneğin, ayrıca SampleCode adında bir sınıfa sahip olan şu paketi göz önünde bulundurun:

package langref.samples
{
public class SampleCode {}
}

Aşağıdaki gibi, her iki sınıfı da içe aktarırsanız, SampleCode sınıfını ifade ederken bir ad çakışması olur:

import samples.SampleCode;
import langref.samples.SampleCode;
var mySample:SampleCode = new SampleCode(); // name conflict

Derleyici, hangi SampleCode sınıfının kullanılacağını bilemez. Bu çakışmayı çözümlemek için, aşağıdaki gibi her sınıfın tam nitelendirilmiş adını kullanmanız gerekir:

var sample1:samples.SampleCode = new samples.SampleCode();
var sample2:langref.samples.SampleCode = new langref.samples.SampleCode();
Not: C++ arka planına sahip programcılar genellikle import deyimini #include deyimiyle karıştırır. C++ derleyicileri aynı anda tek bir dosya işlediğinden ve açıkça bir başlık dosyası dahil edilmediyse, sınıf tanımları için diğer dosyalara bakmadığından, #include direktifi C++ uygulamasında gereklidir. ActionScript 3.0, bir include direktifine sahiptir ancak bu direktif, sınıfları ve paketleri içe aktarmak için tasarlanmamıştır. ActionScript 3.0'da sınıfları veya paketleri içe aktarmak için, import deyimini kullanmanız ve paketi içeren kaynak dosyasını sınıf yoluna yerleştirmeniz gerekir.

0 yorum:

Yorum Gönder

Flash Template Download